Kubernetes1.91(K8s)安裝部署過程(五)--安裝flannel網絡插件


node節點需要安裝flannel網絡插件才能保證所有的pod在一個局域網內通信,直接使用yum安裝即可,版本是0.7.1.

1、安裝flannel插件:

注意是2個node節點都需要安裝,都需要修改service文件和配置文件。

yum install  flannel -y

 

2、修改service文件/usr/lib/systemd/system/flanneld.service其內容為:

[Unit]
Description=Flanneld overlay address etcd agent
After=network.target
After=network-online.target
Wants=network-online.target
After=etcd.service
Before=docker.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/flanneld
EnvironmentFile=-/etc/sysconfig/docker-network
ExecStart=/usr/bin/flanneld-start \
  -etcd-endpoints=${FLANNEL_ETCD_ENDPOINTS} \
  -etcd-prefix=${FLANNEL_ETCD_PREFIX} \
  $FLANNEL_OPTIONS
ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure

[Install]
WantedBy=multi-user.target
RequiredBy=docker.service

 

提示:service文件中所有的變量參數都是讀取相應的配置文件里面的,所有要保證前后對應。

修改其配置文件/etc/sysconfig/flanneld 內容如下:

# Flanneld configuration options  

# etcd url location.  Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="https://10.10.90.105:2379,https://10.10.90.106:2379,https://10.10.90.107:2379"

# etcd config key.  This is the configuration key that flannel queries
# For address range assignment
#FLANNEL_ETCD_PREFIX="/atomic.io/network"
FLANNEL_ETCD_PREFIX="/kube-centos/network"

# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
FLANNEL_OPTIONS="-etcd-cafile=/etc/kubernetes/ssl/ca.pem -etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem -etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem"

以上2步是2個node節點都需要做的。

3、在etcd中常見網絡配置信息

etcdctl --endpoints=https://10.10.90.105:2379,https://10.10.90.106:2379,https://10.10.90.107:2379 \
  --ca-file=/etc/kubernetes/ssl/ca.pem \
  --cert-file=/etc/kubernetes/ssl/kubernetes.pem \
  --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
  mkdir /kube-centos/network
 #上下是2條命令,在任何節點上創建都行,因為etcd是集群的。
etcdctl --endpoints=https://10.10.90.105:2379,https://10.10.90.106:2379,https://10.10.90.107:2379 \
  --ca-file=/etc/kubernetes/ssl/ca.pem \
  --cert-file=/etc/kubernetes/ssl/kubernetes.pem \
  --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
  mk /kube-centos/network/config '{"Network":"172.30.0.0/16","SubnetLen":24,"Backend":{"Type":"host-gw"}}'

 

4、啟動flannel服務

systemctl daemon-reload
systemctl enable flanneld
systemctl start flanneld
systemctl status flanneld

 

5、核對相關配置信息:

#先聲明個endpoint變量,后邊好調用
[root@c7test_node1 ~]#ETCD_ENDPOINTS='https://10.10.90.105:2379,https://10.10.90.106:2379,https://10.10.90.107:2379'

[root@c7test_node1 ~]# etcdctl --endpoints=${ETCD_ENDPOINTS} \ --ca-file=/etc/kubernetes/ssl/ca.pem \ --cert-file=/etc/kubernetes/ssl/kubernetes.pem \ --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ ls /kube-centos/network/subnets
#輸出
/kube-centos/network/subnets/172.30.87.0-24 /kube-centos/network/subnets/172.30.92.0-24 #說明,有幾個node就有幾個子網絡,就有幾條記錄,我是2個node,分別安裝了flannel插件


 [root@c7test_node1 ~]# etcdctl --endpoints=${ETCD_ENDPOINTS} \
 --ca-file=/etc/kubernetes/ssl/ca.pem \
 --cert-file=/etc/kubernetes/ssl/kubernetes.pem \
 --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
 get /kube-centos/network/config

 #輸出
 {"Network":"172.30.0.0/16","SubnetLen":24,"Backend":{"Type":"host-gw"}}

 #此處是查看主網絡配置

 etcdctl --endpoints=${ETCD_ENDPOINTS} --ca-file=/etc/kubernetes/ssl/ca.pem --cert-file=/etc/kubernetes/ssl/kubernetes.pem --key-file=/etc/kubernete   s/ssl/kubernetes-key.pem get /kube-centos/network/subnets/172.30.92.0-24

 #輸出

 

{"PublicIP":"10.10.90.106","BackendType":"vxlan","BackendData":{"VtepMAC":"26:af:ac:26:47:ad"}}

 

 

 etcdctl --endpoints=${ETCD_ENDPOINTS} --ca-file=/etc/kubernetes/ssl/ca.pem --cert-file=/etc/kubernetes/ssl/kubernetes.pem --key-file=/etc/kubernete   s/ssl/kubernetes-key.pem get /kube-centos/network/subnets/172.30.87.0-24

 #輸出

 {"PublicIP":"10.10.90.107","BackendType":"vxlan","BackendData":{"VtepMAC":"82:6f:58:94:9f:59"}}

 

 

 

如有以上輸出即代表flannel插件安裝配置成功,下一篇文章開始安裝node節點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM