Проблемы с докерной фланелевой подсетью
Докер не поднимает фланелевую подсеть. Любая помощь будет благодарна. Я использую coreos, так как мой контейнер Linux и версия докера 1.12.6, мой файл запуска докера выглядит следующим образом. Фланель работает как положено
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=containerd.service docker.socket network.target
Requires=containerd.service docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/flannel_docker_opts.env
# the default is not to use systemd for cgroups because the delegate issues
still
# exists and systemd currently does not support the cgroup feature set
required
# for containers run by docker
ExecStart=/usr/lib/coreos/dockerd --host=fd:// --
containerd=/var/run/docker/libcontainerd/docker-containerd.sock
$DOCKER_OPTS $DOCKER_CGROUPS $
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting
overhead
# in the kernel. We recommend using cgroups to do container-local
accounting.
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker
containers
Delegate=yes
[Install]
WantedBy=multi-user.target
# /etc/systemd/system/docker.service.d/40-flannel.conf
[Unit]
Requires=flanneld.service
After=flanneld.service
[Service]
EnvironmentFile=/etc/kubernetes/cni/docker_opts_cni.env
# /etc/systemd/system/docker.service.d/40-storage.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --host=fd:// --graph="/abc/docker" $DOCKER_OPTS
$DOCKER_CGROUPS $DOCKER_OPT_BIP $DOCKER_OPT_MTU $DOCKER_OPT_IPMASQ
# /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment=DOCKER_OPTS='--insecure-registry="10.x.x.x:5000"'
# /etc/systemd/system/docker.service.d/50-require-flannel.conf
[Unit]
Requires=flanneld.service
After=flanneld.service
1 ответ
Проверить, если
/run/flannel/flannel_docker_opts.env
существует и его содержание. мой/run/flannel/subnet.env
похоже:FLANNEL_NETWORK = 10.252.0.0 / 16
FLANNEL_SUBNET = 10.252.127.1 / 24
FLANNEL_MTU = 1450
FLANNEL_IPMASQ = ложь
добавлять
--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}
в dockerd args.- Если это не может работать,
rm -rf /var/lib/docker/overlay2/*
и перезапустите docker.service