资讯专栏INFORMATION COLUMN

【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配

DangoSky / 3134人阅读

摘要:安装配置安装上传安装如果缺少依赖,注解是由于没使用,所以必须在里配置这个参数,才能访问。但是由于国内对国外网络访问的不可靠以及为了速度上的优化和管理上的方便,我们选择自己搭建一个私有的仓库,也就是。

5 Flannel网络 5.1 准备工作

上传二进制文件

</>复制代码

  1. tar -zxvf flannel-v0.8.0-rc1-linux-amd64.tar.gz
  2. cp flanneld /usr/bin/
  3. cp mk-docker-opts.sh /usr/bin/

清除网络中遗留的docker 网络 (docker0, flannel0 等)

ifconfig

如果存在 请删除,以免发生不必要的未知错误

ip link delete docker0

5.2 添加CA证书到系统信任库

使用动态CA配置
update-ca-trust force-enable

拷贝ca根证书到指定目录
cp /etc/kubernetes/ssl/ca.pem /etc/pki/ca-trust/source/anchors/

生效
update-ca-trust extract

5.3 配置flannel的ip段

etcd节点执行

</>复制代码

  1. etcdctl --endpoint https://192.168.116.123:2379 set /flannel/network/config "{"Network":"10.254.0.0/16"}"
5.4 配置flannel

设置flanneld.service

</>复制代码

  1. vi /usr/lib/systemd/system/flanneld.service
  2. [Unit]
  3. Description=Flanneld overlay address etcd agent
  4. After=network.target
  5. After=network-online.target
  6. Wants=network-online.target
  7. After=etcd.service
  8. Before=docker.service
  9. [Service]
  10. Type=notify
  11. EnvironmentFile=/etc/sysconfig/flanneld
  12. EnvironmentFile=-/etc/sysconfig/docker-network
  13. ExecStart=/usr/bin/flanneld-start $FLANNEL_OPTIONS
  14. ExecStartPost=/usr/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
  15. Restart=on-failure
  16. [Install]
  17. WantedBy=multi-user.target
  18. RequiredBy=docker.service

vi /etc/sysconfig/flanneld

修改如下信息:

</>复制代码

  1. FLANNEL_ETCD_ENDPOINTS="https://192.168.116.123:2379"
  2. FLANNEL_ETCD_PREFIX="/flannel/network"
  3. FLANNEL_OPTIONS="--iface=eno1"

eno1为物理网卡的网卡名

vi /etc/sysconfig/docker-network

</>复制代码

  1. DOCKER_NETWORK_OPTIONS=

可以为空

vi /usr/bin/flanneld-start

</>复制代码

  1. #!/bin/sh
  2. exec /usr/bin/flanneld
  3. -etcd-endpoints=${FLANNEL_ETCD_ENDPOINTS:-${FLANNEL_ETCD}}
  4. -etcd-prefix=${FLANNEL_ETCD_PREFIX:-${FLANNEL_ETCD_KEY}}
  5. "$@"

赋执行权限

chmod +x /usr/bin/flanneld-start

确保docker已停止

</>复制代码

  1. systemctl stop docker

启动flanneld服务

</>复制代码

  1. systemctl daemon-reload
  2. systemctl enable flanneld
  3. systemctl start flanneld

查看flannel

ip a

docker0应该和flannel0在同一ip段,且两台机器间的docker0地址可以相互ping通。

6 安装docker 6.1 配置安装docker

上传

</>复制代码

  1. docker-ce-17.03.1.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch.rpm

安装

</>复制代码

  1. rpm -ivh docker-ce-17.03.1.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch.rpm

如果缺少依赖,

</>复制代码

  1. yum localinstall docker-ce-17.03.1.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch.rpm

</>复制代码

  1. vi /usr/lib/systemd/system/docker.service
  2. [Unit]
  3. Description=Docker Application Container Engine
  4. Documentation=https://docs.docker.com
  5. After=network-online.target firewalld.service
  6. Wants=network-online.target
  7. [Service]
  8. Type=notify
  9. ExecStart=/usr/bin/dockerd --insecure-registry=192.168.116.123:80 $DOCKER_NETWORK_OPTIONS
  10. ExecReload=/bin/kill -s HUP $MAINPID
  11. LimitNOFILE=infinity
  12. LimitNPROC=infinity
  13. LimitCORE=infinity
  14. TimeoutStartSec=0
  15. Delegate=yes
  16. KillMode=process
  17. Restart=on-failure
  18. StartLimitBurst=3
  19. StartLimitInterval=60s
  20. [Install]
  21. WantedBy=multi-user.target

注解:--insecure-registry=192.168.116.123:80 是由于Harbor没使用https,所以必须在docker里配置这个参数,才能访问Harbor。

6.2 设置docker0网桥的ip地址

</>复制代码

  1. mkdir –p /usr/lib/systemd/system/docker.service.d
  2. cd /usr/lib/systemd/system/docker.service.d
  3. mk-docker-opts.sh -i
  4. source /run/flannel/subnet.env
  5. vi /usr/lib/systemd/system/docker.service.d/flannel.conf
  6. [Service]
  7. EnvironmentFile=-/run/flannel/docker
6.3 启动docker

</>复制代码

  1. systemctl daemon-reload
  2. systemctl enable docker
  3. systemctl start docker
6.4 查看docker0 flannel0

7.Harbor部署 7.1 上传文件

</>复制代码

  1. docker-compose-Linux-x86_64
  2. harbor-offline-installer-v1.1.1.tgz
  3. pod-infrastructure.tar
  4. cp docker-compose-Linux-x86_64 /usr/bin/docker-compose
  5. chmod +x /usr/bin/docker-compose
  6. tar -xzvf harbor-offline-installer-v1.1.1.tgz
7.2 配置harbor

</>复制代码

  1. cd harbor
  2. vi harbor.cfg

我这里Harbor没有配置Https,所以只需要修改 hostname为Harbor所在主机的ip即可,我Harbor是装在master上,所以
hostname=192.168.116.123

</>复制代码

  1. cd /root/harbor
  2. ./install.sh
7.3 启动harbor

</>复制代码

  1. cd /root/harbor/
  2. docker-compose stop
  3. docker-compose up –d

查看docker-compose ps

[root@master-123 harbor]# docker-compose ps

</>复制代码

  1. Name Command State Ports
  2. ------------------------------------------------------------------------------------------------------------------------------
  3. harbor-adminserver /harbor/harbor_adminserver Up
  4. harbor-db docker-entrypoint.sh mysqld Up 3306/tcp
  5. harbor-jobservice /harbor/harbor_jobservice Up
  6. harbor-log /bin/sh -c crond && rm -f ... Up 127.0.0.1:1514->514/tcp
  7. harbor-ui /harbor/harbor_ui Up
  8. nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
  9. registry /entrypoint.sh serve /etc/ ... Up 5000/tcp
Flannel的作用

</>复制代码

  1. 我对flannel在kubernetes中的简单理解就是,flannel将本来2个宿主机中不可以相互通信的pod放到了一个虚拟网络内,使得kubernetes集群内所有pod仿佛是在同一个内网,可以相互通信。

  2. 可以参考链接:http://dockone.io/article/618

Harbor的作用

</>复制代码

  1. Harbor作为一个私有仓库,首先本身的作用肯定是存储镜像,也就是docker里的image,在kubernetes中,我们在配置pod时,都会为pod指定image的地址,当创建pod的时候,node会自动将image拉取下来,然后本地运行,形成pod。但是由于国内对国外网络访问的不可靠以及为了速度上的优化和管理上的方便,我们选择自己搭建一个私有的仓库,也就是Harbor。
    在有了Harbor以后,我们可以自己上传镜像到Harbor,然后pod就只用拉取Harbor里的镜像,并且Harbor还提供同步复制的功能,很容易就能实现高可用配置。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26994.html

相关文章

  • 从零开始安装kubernetes-1.7.32.flanneldocker以及Harbor的配

    摘要:安装配置安装上传安装如果缺少依赖,注解是由于没使用,所以必须在里配置这个参数,才能访问。但是由于国内对国外网络访问的不可靠以及为了速度上的优化和管理上的方便,我们选择自己搭建一个私有的仓库,也就是。 5 Flannel网络 5.1 准备工作 上传二进制文件 tar -zxvf flannel-v0.8.0-rc1-linux-amd64.tar.gz cp flanneld...

    shaonbean 评论0 收藏0
  • 从零开始安装kubernetes-1.7.31.环境说明以及etcd配置(CA认证)

    摘要:所有主机关闭防火墙关闭所有节点主机防火墙关闭防火墙开机自启动关闭防火墙启动验证集群状态晚上回去更新第二篇从零开始安装以及的配置以及作用 1.环境说明 主机名 ip 说明 master-123(复用node) 192.168.116.123 etcd flannel kube-apiserver kube-controller-manager kube-scheduler ku...

    Gilbertat 评论0 收藏0
  • 从零开始安装kubernetes-1.7.31.环境说明以及etcd配置(CA认证)

    摘要:所有主机关闭防火墙关闭所有节点主机防火墙关闭防火墙开机自启动关闭防火墙启动验证集群状态晚上回去更新第二篇从零开始安装以及的配置以及作用 1.环境说明 主机名 ip 说明 master-123(复用node) 192.168.116.123 etcd flannel kube-apiserver kube-controller-manager kube-scheduler ku...

    Doyle 评论0 收藏0
  • 从零开始安装kubernetes-1.7.33.安装MASTER与NODE组件(CA配置)

    摘要:拷贝到目录拷贝到其他配置首次启动时向发送请求,验证请求中的是否与它配置的一致,如果一致则自动为生成证书和秘钥。 紧接上一章 8. MASTER节点配置 8.1 安装组件 上传kubernetes-server-linux-amd64.tar.gz tar -xzvf kubernetes-server-linux-amd64.tar.gz cd kubernetes cp -r ser...

    xiangchaobin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<