使用Flannel配置Docker网络
2020-03-01 00:40
567 查看
一、启动flannel程序
通过Unit文件,启动Flannel服务,Unit文件如下:
[Unit] Description=flannel After=docker.service
[Service] TimeoutSec=0 ExecStart= /var/flannel/flanneld \ -etcd-endpoints=http: //192 .168.10.161:2379
[Install] WantedBy=multi-user.target |
启动flannel
systemctl daemon-reload systemctl enable flannel2016.service systemctl start flannel2016.service |
Flannel服务启动时主要做了以下几步的工作:
- 从etcd中获取network的配置信息
- 划分subnet,并在etcd中进行注册
- 将子网信息记录到/run/flannel/subnet.env中
生成的subnet.env内容如下:
cat /run/flannel/subnet . env FLANNEL_NETWORK=172.17.0.0 /16 FLANNEL_SUBNET=172.17.50.1 /24 FLANNEL_MTU=1472 FLANNEL_IPMASQ= false |
二、修改flannel配置文件
在CoreOS中Docker启动会读取配置文件,配置文件中可包含网络和镜像地址的设置,查看Docker启动服务,会读取/run/flannel/flannel_docker_opts.env文件
systemctl cat docker |
EnvironmentFile配置如下所示
[Unit] Description=Docker Application Container Engine Documentation=http: //docs .docker.com After=containerd.service docker.socket early-docker.target network.target Requires=containerd.service docker.socket early-docker.target
[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 |
修改flannel配置文件mk-docker-opts.sh,将docker_env修改为“/run/flannel/flannel_docker_opts.env”
docker_env= "/run/flannel/flannel_docker_opts.env" |
三、生成相关配置文件
Docker使用Flannel的网络传递数据,可以通过命令生成启动参数。
sudo /var/flannel/mk-docker-opts .sh -i |
生成的Docker启动配置文件内容如下:
cat /run/flannel/flannel_docker_opts . env DOCKER_OPT_BIP= "--bip=172.17.50.1/24" DOCKER_OPT_IPMASQ= "--ip-masq=true" DOCKER_OPT_MTU= "--mtu=1472" DOCKER_NETWORK_OPTIONS= " --bip=172.17.50.1/24 --ip-masq=true --mtu=1472 " |
四、修改docker0网段
source /run/flannel/subnet . env sudo ifconfig docker0 ${FLANNEL_SUBNET} |
五、重启Docker
配置完毕后,便可以启动docker了
sudo systemctl restart docker |
转载于:https://my.oschina.net/elandyang/blog/892091
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 使用flannel配置docker网络
- Docker 使用指南 (三)—— 网络配置
- Docker 配置网络 - 使用 Macvlan 网络
- 使用Calico配置Docker网络
- Docker 使用Calico插件配置网络
- Docker 配置网络 - 使用 bridge 网络
- Docker:使用pipework配置docker网络
- Docker 配置网络 - 使用 bridge 网络
- Docker 配置守护进程和容器的网络 - 配置 Docker 使用代理服务器
- Docker 配置网络 - 使用 overlay 网络
- docker深入2-使用自定义的网络来配置zookeeper集群
- Docker 使用指南 (三)—— 网络配置
- Docker 配置Flannel网络过程及原理
- Docker 配置网络 - 使用 overlay 网络
- 14. 使用脚本创建Docker及配置网络
- Docker 配置网络 - 使用 host 网络
- Docker 配置网络使用bridge网络的方法
- Docker 使用指南 (三)—— 网络配置
- 02docker简单使用和配置(网络、存储和Hub)
- Docker 使用指南 (三)—— 网络配置