暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

《蹲坑学kubernetes》之11:部署Flannel网络

dodo在线 2020-05-21
306

一、部署flannel网络

(一)在Etcd中网络设置

1、在Etcd中网络设置

[root@k8s-master ~]# etcdctl--ca-file=/usr/local/kubernetes/ssl/ca.pem --cert-file=/usr/local/kubernetes/ssl/etcd.pem--key-file=/usr/local/kubernetes/ssl/etcd-key.pem  --endpoints="https://192.168.1.1:2379,https://192.168.1.2:2379,https://192.168.1.3:2379"  set /coreos.com/network/config '{"Network": "10.244.0.0/16", "Backend":{"Type": "vxlan"}}'
复制


2、修改Flannel类型

[root@k8s-master ~]# etcdctl--ca-file=/usr/local/kubernetes/ssl/ca.pem --cert-file=/usr/local/kubernetes/ssl/etcd.pem--key-file=/usr/local/kubernetes/ssl/etcd-key.pem --endpoints="https://192.168.1.1:2379,https://192.168.1.2:2379,https://192.168.1.3:2379"  set /coreos.com/network/config '{"Network": "10.244.0.0/16", "Backend":{"Type": " host-gw"}}'
复制

 

3、查看网络设置

[root@k8s-master ~]# etcdctl--ca-file=/usr/local/kubernetes/ssl/ca.pem --cert-file=/usr/local/kubernetes/ssl/etcd.pem--key-file=/usr/local/kubernetes/ssl/etcd-key.pem  --endpoints="https://192.168.1.1:2379,https://192.168.1.2:2379,https://192.168.1.3:2379"  get /coreos.com/network/config '{"Network": "10.244.0.0/16", "Backend":{"Type": "vxlan"}}'
复制

 

 

(二)部署flannel

1、下载flannel

[root@k8s-master ~]# wget https://github.com/coreos/flannel/releases/download/v0.11.0/flannel-v0.11.0-linux-amd64.tar.gz

[root@k8s-master ~]# mkdir /usr/src/flannel
[root@k8s-master ~]# tar -zxvfflannel-v0.11.0-linux-amd64.tar.gz -C /usr/src/flannel/
[root@k8s-master ~]# cd/usr/src/flannel/
[root@k8s-master flannel]# cp flanneldmk-docker-opts.sh /usr/local/kubernetes/bin/
复制

 

2、创建flannel配置文件

[root@k8s-master ~]# vim/usr/local/kubernetes/conf/flanneld
添加:
FLANNEL_OPTIONS="--etcd-endpoints=https://192.168.1.1:2379,https://192.168.1.2:2379,https://192.168.1.3:2379\
-etcd-cafile=/usr/local/kubernetes/ssl/ca.pem \
-etcd-certfile=/usr/local/kubernetes/ssl/etcd.pem\
-etcd-keyfile=/usr/local/kubernetes/ssl/etcd-key.pem \
-etcd-prefix=/coreos.com/network"


[root@k8s-master ~]# scp/usr/local/kubernetes/conf/flanneld 192.168.1.1:/usr/local/kubernetes/conf/
[root@k8s-master ~]# scp/usr/local/kubernetes/conf/flanneld 192.168.1.2:/usr/local/kubernetes/conf/
复制

 

 

3、创建flannel服务配置文件

[root@k8s-master ~]# vim/usr/lib/systemd/system/flanneld.service
添加:
[Unit]
Description=Flanneld overlay address etcd agent
After=network-online.target network.target
Before=docker.service

[Service]
Type=notify
EnvironmentFile=-/usr/local/kubernetes/conf/flanneld
ExecStart=/usr/local/kubernetes/bin/flanneld--ip-masq $FLANNEL_OPTIONS
ExecStartPost=/usr/local/kubernetes/bin/mk-docker-opts.sh-k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
Restart=on-failure

[Install]
WantedBy=multi-user.target

[root@k8s-master ~]# scp/usr/lib/systemd/system/flanneld.service 192.168.1.1:/usr/lib/systemd/system/
[root@k8s-master ~]# scp/usr/lib/systemd/system/flanneld.service 192.168.1.2:/usr/lib/systemd/system/
复制

 

4、预启动flannel

[root@k8s-master ~]# flanneld-etcd-cafile=/usr/local/kubernetes/ssl/ca.pem -etcd-certfile=/usr/local/kubernetes/ssl/etcd.pem -etcd-keyfile=/usr/local/kubernetes/ssl/etcd-key.pem -etcd-endpoints="https://192.168.1.1:2379,https://192.168.1.2:2379,https://192.168.1.3:2379"-etcd-prefix=/coreos.com/network
复制


5、启动flannel服务

[root@k8s-master ~]# systemctl enableflanneld
[root@k8s-master ~]# systemctl startflanneld
复制

6、查看flannel服务状态

[root@k8s-master ~]# systemctl status flanneld
复制


[root@k8s-master ~]# netstat -anpt |grep flanneld
复制



7、验证flannel网络

(1)Master节点:

[root@k8s-master ~]# ip a
[root@k8s-master ~]# ifconfig flannel.1
复制


 (2)Node-1节点:

[root@k8s-node-1 ~]# ip a
[root@k8s-node-1 ~]# ifconfig flannel.1
复制


 (3)Node-2节点:

[root@k8s-node-2 ~]# ip a
[root@k8s-node-2 ~]# ifconfig flannel.1
复制

 

二、配置docker

1、配置docker服务使flannel应用到容器

[root@k8s-master ~]# vim/usr/lib/systemd/system/docker.service
修改:
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
EnvironmentFile=/run/flannel/subnet.env
ExecStart=/usr/bin/dockerd -H fd://--containerd=/run/containerd/containerd.sock $DOCKER_NETWORK_OPTIONS
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2

[root@k8s-master ~]# scp/usr/lib/systemd/system/docker.service 192.168.1.1:/usr/lib/systemd/system/
[root@k8s-master ~]# scp/usr/lib/systemd/system/docker.service 192.168.1.2:/usr/lib/systemd/system/
复制

 

2、重启Docker

[root@k8s-master ~]# systemctldaemon-reload
[root@k8s-master ~]# systemctl restartdocker.service
复制

 

3、验证:

(1)在k8s-master上:

[root@k8s-master ~]# ifconfig flannel.1
[root@k8s-master ~]# ifconfig docker0
复制


(2)在k8s-node-1上:

[root@k8s-node-1 ~]#ifconfig flannel.1
[root@k8s-node-1 ~]#ifconfig docker0
复制


(3)在k8s-node-2上:

[root@k8s-node-2 ~]#ifconfig flannel.1
[root@k8s-node-2 ~]#ifconfig docker0
复制


 (4)连通性测试

[root@k8s-master ~]# ping 10.244.15.1
[root@k8s-master ~]ping 10.244.34
复制


 

 

 


文章转载自dodo在线,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论