node节点安装docker,参考之前的文章
1、下载包
wget https://github.com/coreos/flannel/releases/download/v0.11.0/flannel-v0.11.0-linux-amd64.tar.gz
2、將解压出来的两个文件flanneld,mk-docker-opts.sh拷贝到node节点中的/opt/k8s/bin中。
3、创建 /opt/k8s/cfg/flanneld.conf 文件,内容如下:
FLANNEL_OPTIONS="--etcd-endpoints=https://192.168.122.134:2379,https://192.168.122.135:2379,https://192.168.122.136:2379 -etcd-cafile=/opt/k8s/ssl/ca.pem -etcd-certfile=/opt/k8s/ssl/server.pem -etcd-keyfile=/opt/k8s/ssl/server-key.pem"
4、创建 /usr/lib/systemd/system/flanneld.service, 内容如下:
[Unit]
Descrition=Flanneld overlay address etcd agent
After=network-online.target network.target
Before=docker.service
[Service]
Type=notify
EnvironmentFile=/opt/k8s/cfg/flanneld.conf
ExecStart=/opt/k8s/bin/flanneld --ip-masq $FLANNEL_OPTIONS
ExecStartPost=/opt/k8s/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
Restart=on-failure
[Install]
WantedBy=multi-user.target
在master节点/opt/k8s/ssl路径下运行:
../bin/etcdctl --ca-file=ca.pem --cert-file=server.pem \
--key-file=server-key.pem \
--endpoints="https://192.168.122.134:2379,https://192.168.122.135:2379,https://192.168.122.136:2379" \
set /coreos.com/network/config '{"Network": "172.17.0.0/16", "Backend": {"Type": "vxlan"}}'
启动
systemctl daemon-reload
systemctl start flanneld
systemctl enable flanneld
注意:
ip addr #查看ip地址
查看docker0的IP是否与flannel一个网段,如果不是修改/usr/lib/systemd/system/docker.service
中的[Service]:
#增加
EnvironmentFile=/run/flannel/subnet.env
#修改
ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS
然后运行:
systemctl daemon-reload
systemctl restart docker
用其中一台平另一台docker0的网关,卡的时间长的话就关掉防火墙:
systemctl stop firewalld
注意:三个节点都要装flannel确保任一一个节点能ping到另一节点docker的网关