1. 程式人生 > >部署k8s ssl集群實踐12:work節點配置docker

部署k8s ssl集群實踐12:work節點配置docker

cti ive con 14. ins type mtu sys oba

部署docker

舊的三節點docker已經安裝好
只需要安裝新節點的docker
但是所有節點都需要修改docker配置文件

安裝參考前面的基礎篇裏的安裝方法

所有work節點都需要修改以下參數
需要修改dokcer的參數

[root@nfs-store ~]# systemctl status docker
● docker.service - Docker Application Container Engine
?? Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
?? Active: active (running) since 三 2018-08-29 14:47:45 CST; 1s ago
? ?? Docs: https://docs.docker.com
Main PID: 5934 (dockerd)
? ? Tasks: 16
?? Memory: 14.5M
?? CGroup: /system.slice/docker.service
? ? ? ? ?? ├─5934 /usr/bin/dockerd
? ? ? ? ?? └─5940 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start...
8月 29 14:47:44 nfs-store dockerd[5934]: time="2018-08-29T14:47:44.989167050+08:00" level=info msg="[graphdriver] using ...erlay
8月 29 14:47:44 nfs-store dockerd[5934]: time="2018-08-29T14:47:44.992032549+08:00" level=info msg="Graph migration to c...conds"
8月 29 14:47:44 nfs-store dockerd[5934]: time="2018-08-29T14:47:44.993033475+08:00" level=info msg="Loading containers: start."
8月 29 14:47:45 nfs-store dockerd[5934]: time="2018-08-29T14:47:45.000879000+08:00" level=info msg="Firewalld running: false"
8月 29 14:47:45 nfs-store dockerd[5934]: time="2018-08-29T14:47:45.102773462+08:00" level=info msg="Default bridge (dock...dress"
8月 29 14:47:45 nfs-store dockerd[5934]: time="2018-08-29T14:47:45.145154328+08:00" level=info msg="Loading containers: done."
8月 29 14:47:45 nfs-store dockerd[5934]: time="2018-08-29T14:47:45.157327519+08:00" level=info msg="Daemon has completed...ation"
8月 29 14:47:45 nfs-store dockerd[5934]: time="2018-08-29T14:47:45.157365151+08:00" level=info msg="Docker daemon" commi...3.1-ce
8月 29 14:47:45 nfs-store dockerd[5934]: time="2018-08-29T14:47:45.165294766+08:00" level=info msg="API listen on /var/r....sock"
8月 29 14:47:45 nfs-store systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
[root@nfs-store ~]#

修改這個文件:

/usr/lib/systemd/system/docker.service
[root@nfs-store ~]# cat /usr/lib/systemd/system/docker.service |grep -v ^#
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target firewalld.service

[Service]
Type=notify
EnvironmentFile=/run/flannel/docker
ExecStart=/usr/bin/dockerd --log-level=error $DOCKER_NETWORK_OPTIONS
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
[root@nfs-store ~]#

$DOCKER_NETWORK_OPTIONS;
dockerd 運行時會調用其它 docker 命令,如 docker-proxy,所以需要將 docker 命
令所在的目錄加到 PATH 環境變量中;
flanneld 啟動時將網絡配置寫入 /run/flannel/docker 文件中,dockerd 啟動前
讀取該文件中的環境變量 DOCKER_NETWORK_OPTIONS ,然後設置 docker0 網橋網
段;
如果指定了多個 EnvironmentFile 選項,則必須將 /run/flannel/docker 放
在最後(確保 docker0 使用 flanneld 生成的 bip 參數);
docker 需要以 root 用於運行;

docker 從 1.13 版本開始,可能將 iptables FORWARD chain的默認策略設置為
DROP,從而導致 ping 其它 Node 上的 Pod IP 失敗,遇到這種情況時,需要手動
設置策略為 ACCEPT :
iptables -P FORWARD ACCEPT
並且把以下命令寫入 /etc/rc.local 文件中,防止節點重啟iptables
FORWARD chain的默認策略又還原為DROP
/sbin/iptables -P FORWARD ACCEPT

重啟docker,可以看到所有work節點同一個節點的flannel和docker是一個網段了

3: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN
? ? link/ether 7a:a5:c6:8d:1e:55 brd ff:ff:ff:ff:ff:ff
? ? inet 172.30.14.0/32 scope global flannel.1
? ? ?? valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
? ? link/ether 02:42:18:17:e4:f7 brd ff:ff:ff:ff:ff:ff
? ? inet 172.30.14.1/24 scope global docker0
? ? ?? valid_lft forever preferred_lft forever

部署k8s ssl集群實踐12:work節點配置docker