kubeadmdocker绒布整合

在kubeadm之前,我使用这些步骤将法兰绒的ip&mtu值传送给docker工人。

第1步:停止Docker和Flannel
步骤2:启动Flannel并检查其状态;
第3步:像这样更新Docker启动脚本

source /run/flannel/subnet.env --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} 

第4步:启动Docker并检查其状态。

kubeadm如何完成这个步骤? 我看到Docker deamon进程首先启动,然后Flannel作为容器尝试低估整合过程。

谢谢SR

以下是我在Kubernetes v1.7.3中设置绒布的步骤。

安装法兰绒

 kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 

你会看到创build的法兰绒吊舱,但它会陷入“CrashLoopBackOff”状态并永远重启。

在Kubeadm安装绒布后,子网信息将被logging在/run/flannel/subnet.env文件中。

 cat /run/flannel/subnet.env FLANNEL_NETWORK=10.244.0.0/16 FLANNEL_SUBNET=10.244.0.1/24 FLANNEL_MTU=1450 FLANNEL_IPMASQ=true 

为docker设置这些环境variables

 mkdir -p /usr/lib/systemd/system/docker.service.d sudo cat << EOF > /usr/lib/systemd/system/docker.service.d/flannel.conf [Service] EnvironmentFile=-/run/flannel/docker EOF sudo cat << EOF > /run/flannel/docker DOCKER_OPT_BIP="--bip=10.244.0.1/24" DOCKER_OPT_IPMASQ="--ip-masq=false" DOCKER_OPT_MTU="--mtu=1450" DOCKER_NETWORK_OPTIONS=" --bip=10.244.0.1/24 --ip-masq=false --mtu=1450" 

注意:为docker设置ip-masq为false,否则kube-dns将无法正常工作。

重新加载服务configuration,更改将生效。

 sudo systemctl daemon-reload` 

瞧,一切工作在那之后。