部署k8s ssl集群实践11:work节点配置flanneld

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署k8s ssl集群实践11:work节点配置flanneld相关的知识,希望对你有一定的参考价值。

前面三节点flanneld已经部署好,只需要在新加节点部署flanneld即可

把flanneld执行文件copy到新加节点

[[email protected] ~]# scp [email protected]:/opt/k8s/bin/flanneld /opt/k8s/bin
[email protected]‘s password:
flanneld? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%?? 35MB? 34.6MB/s?? 00:00? ?
[[email protected] ~]#
[[email protected] flannel]# scp [email protected]:/opt/k8s/bin/mk-docker-opts.sh /opt/k8s/bin
[email protected]‘s password:
mk-docker-opts.sh?

属主改一下

[[email protected] ~]# ll /opt/k8s/bin
total 35484
-rwxr-xr-x. 1 root root? ?? 1762 Aug 30 01:38 environment.sh
-rwxr-xr-x. 1 root root 36327752 Aug 30 01:41 flanneld
[[email protected] ~]# chown -R k8s /opt/k8s/
[[email protected] ~]#

创建存放证书目录,并把证书copy到新节点

[[email protected] ~]# mkdir -p /etc/flanneld/cert && chown -R k8s /etc/flanneld/cert
[[email protected] ~]# scp [email protected]:/root/k8s/flannel/key/* /etc/flanneld/cert
[email protected]‘s password:
flanneld.csr? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%? 989? ?? 1.0KB/s?? 00:00? ?
flanneld-csr.json? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 100%? 156? ?? 0.2KB/s?? 00:00? ?
flanneld-key.pem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100% 1675? ?? 1.6KB/s?? 00:00? ?
flanneld.pem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100% 1371? ?? 1.3KB/s?? 00:00? ?
flanneld.service? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%? 702? ?? 0.7KB/s?? 00:00? ?
[[email protected] ~]#

创建 flanneld 的 systemd unit 文件
把旧的节点上的copy来修改下即可

[[email protected] ~]# scp [email protected]:/root/k8s/flannel/key/flanneld.service /etc/systemd/system
[email protected]‘s password:
flanneld.service? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%? 702? ?? 0.7KB/s?? 00:00? ?
[[email protected] ~]#
[[email protected] ~]# cat /etc/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
ExecStart=/opt/k8s/bin/flanneld -etcd-cafile=/etc/kubernetes/cert/ca.pem -etcd-certfile=/etc/flanneld/cert/flanneld.pem -etcd-keyfile=/etc/flanneld/cert/flanneld-key.pem -etcd-endpoints=https://192.168.211.128:2379,https://192.168.211.129:2379,https://192.168.211.130:2379 -etcd-prefix=/kubernetes/network -iface=ens33
ExecStartPost=/opt/k8s/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure
[Install]
WantedBy=multi-user.target
RequiredBy=docker.service
[[email protected] ~]#

注意这里用到了
-etcd-cafile=/etc/kubernetes/cert/ca.pem
这个证书,需要从旧节点copy过来,并配置权限
可以不用复制全部。

[[email protected] ~]# scp [email protected]:/etc/kubernetes/cert/* /etc/kubernetes/cert/
[email protected]‘s password:
ca-config.json? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%? 292? ?? 0.3KB/s?? 00:00? ?
ca.csr? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%? 993? ?? 1.0KB/s?? 00:00? ?
ca-csr.json? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 100%? 201? ?? 0.2KB/s?? 00:00? ?
ca-key.pem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100% 1675? ?? 1.6KB/s?? 00:00? ?
ca.pem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100% 1338? ?? 1.3KB/s?? 00:00? ?
kube-controller-manager.csr? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 100% 1127? ?? 1.1KB/s?? 00:00? ?
kube-controller-manager-csr.json? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%? 275? ?? 0.3KB/s?? 00:00? ?
kube-controller-manager-key.pem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 100% 1679? ?? 1.6KB/s?? 00:00? ?
kube-controller-manager.pem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 100% 1489? ?? 1.5KB/s?? 00:00? ?
kubernetes.csr? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100% 1257? ?? 1.2KB/s?? 00:00? ?
kubernetes-csr.json? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 100%? 397? ?? 0.4KB/s?? 00:00? ?
kubernetes-key.pem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100% 1675? ?? 1.6KB/s?? 00:00? ?
kubernetes.pem? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100% 1619? ?? 1.6KB/s?? 00:00? ?
[[email protected] ~]#
[[email protected] ~]# chown -R k8s /etc/kubernetes/cert/

启动服务

[[email protected] ~]# systemctl daemon-reload && systemctl enable flanneld && systemctl restart flanneld
[[email protected] flannel]# systemctl status flanneld -l
● flanneld.service - Flanneld overlay address etcd agent
?? Loaded: loaded (/etc/systemd/system/flanneld.service; enabled; vendor preset: disabled)
?? Active: active (running) since Thu 2018-08-30 01:59:47 EDT; 36s ago
? Process: 2784 ExecStartPost=/opt/k8s/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker (code=exited, status=0/SUCCESS)
Main PID: 2777 (flanneld)
?? CGroup: /system.slice/flanneld.service
? ? ? ? ?? └─2777 /opt/k8s/bin/flanneld -etcd-cafile=/etc/kubernetes/cert/ca.pem -etcd-certfile=/etc/flanneld/cert/flanneld.pem -etcd-keyfile=/etc/flanneld/cert/flanneld-key.pem -etcd-endpoints=https://192.168.211.128:2379,https://192.168.211.129:2379,https://192.168.211.130:2379 -etcd-prefix=/kubernetes/network -iface=ens33
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.254927? ? 2777 main.go:235] Created subnet manager: Etcd Local Manager with Previous Subnet: 172.30.52.0/24
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.254941? ? 2777 main.go:238] Installing signal handlers
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.274908? ? 2777 main.go:353] Found network config - Backend type: vxlan
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.274973? ? 2777 vxlan.go:120] VXLAN config: VNI=1 Port=0 GBP=false DirectRouting=false
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.283644? ? 2777 local_manager.go:147] Found lease (172.30.52.0/24) for current IP (192.168.211.131), reusing
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.288178? ? 2777 main.go:300] Wrote subnet file to /run/flannel/subnet.env
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.288201? ? 2777 main.go:304] Running backend.
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.298965? ? 2777 vxlan_network.go:60] watching for new subnet leases
Aug 30 01:59:47 k8s-node3 flanneld[2777]: I0830 01:59:47.299852? ? 2777 main.go:396] Waiting for 22h59m59.967748434s to renew lease
Aug 30 01:59:47 k8s-node3 systemd[1]: Started Flanneld overlay address etcd agent.
[[email protected] flannel]#

可能遇到的报错:

Aug 30 01:55:36 k8s-node3 flanneld: E0830 01:55:36.472662? ? 2532 watch.go:43] Watch subnets: failed to retrieve subnet leases: context canceled

这个报错是因为

[[email protected] flannel]# ll /opt/k8s/bin
total 35488
-rwxr-xr-x. 1 k8s root? ?? 1762 Aug 30 01:38 environment.sh
-rwxr-xr-x. 1 k8s root 36327752 Aug 30 01:41 flanneld
-rwxr-xr-x. 1 k8s root? ?? 2139 Aug 30 01:59 mk-docker-opts.sh
[[email protected] flannel]#

没有mk-docker-opts.sh这个文件。

检查下flanneld的情况

看看分配的ip段

3: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN
? ? link/ether 5a:b5:99:65:f5:7c brd ff:ff:ff:ff:ff:ff
? ? inet 172.30.52.0/32 scope global flannel.1
? ? ?? valid_lft forever preferred_lft forever

etcd后端对比下

[[email protected] key]#? etcdctl --ca-file=/etc/kubernetes/cert/ca.pem --cert-file=/etc/etcd/cert/etcd.pem --key-file=/etc/etcd/cert/etcd-key.pem ls /kubernetes/network/subnets
/kubernetes/network/subnets/172.30.99.0-24
/kubernetes/network/subnets/172.30.52.0-24
/kubernetes/network/subnets/172.30.14.0-24
/kubernetes/network/subnets/172.30.92.0-24
[[email protected] key]#

可以看到已经写入etcd了

以上是关于部署k8s ssl集群实践11:work节点配置flanneld的主要内容,如果未能解决你的问题,请参考以下文章

部署k8s ssl集群实践10:work节点基础环境

部署k8s ssl集群实践6:配置高可用kube-apiserver组件ha+keepalived

部署k8s ssl集群实践14:work节点部署kube-proxy

部署k8s ssl集群实践2:cfssl配置根证书和秘钥

部署k8s ssl集群实践4:部署etcd集群

部署k8s ssl集群实践3:部署kubectl命令工具行