2

在 kubeadm 之前,我使用这些步骤将 flannel ip 和 mtu 值带到 docker。

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

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

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

这个步骤是怎么做的kubeadm?我看到 Docker 守护进程首先启动,然后 Flannel 作为容器启动,试图低估集成过程。

谢谢

4

1 回答 1

2

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

安装法兰绒

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

您将看到 flannel pod 已创建,但它进入“CrashLoopBackOff”状态并永远重启。

在 Kubeadm 安装 flannel 后,子网信息将记录在文件中/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 设置这些环境变量

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 将无法正常工作。

重新加载服务配置,然后更改将生效。

sudo systemctl daemon-reload`

瞧,在那之后一切正常。

于 2017-08-09T06:13:54.450 回答