kubeadm(三)——安装weave

CentOS Linux release 7.6.1810 (Core)

在master节点上执行 kubectl get nodes命令,会发现Kubernetes提示Master 为 NotReady 状态,这是因为还没有安装CNI网络插件:

# kubectl get nodes
NAME     STATUS     ROLES    AGE     VERSION
master   NotReady   master   9m11s   v1.14.0
node-1   NotReady      4m55s   v1.14.0
node-2   NotReady      2m17s   v1.14.0
node-3   NotReady      115s    v1.14.0

对于CNI网络插件,可以有很多选择。我们这里选择weave,执行下面的命令即可一键完成安装(在master节点执行):

# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
serviceaccount/weave-net created
clusterrole.rbac.authorization.k8s.io/weave-net created
clusterrolebinding.rbac.authorization.k8s.io/weave-net created
role.rbac.authorization.k8s.io/weave-net created
rolebinding.rbac.authorization.k8s.io/weave-net created
daemonset.extensions/weave-net created

稍等一会,再次查看节点状态,如果想查看进度,可以执行 kubectl get pods --all-namespaces -l name=weave-net

# kubectl get nodes
NAME                      STATUS   ROLES    AGE     VERSION
izt4n3ku8e7bzoykwbgw22z   Ready       7m33s   v1.14.0
izt4n3ku8e7bzoykwbgw23z   Ready       7m30s   v1.14.0
izt4nf4t1bo76k323duacxz   Ready    master   57m     v1.14.0

可以看到,所有的node都是 Ready 状态了。可以想到,一定是用到daemonSet的控制来实现每个节点启动weave-net,我们来检查一下

[root@master ~]# kubectl get ds -n kube-system
NAME         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
kube-proxy   4         4         4       4            4           beta.kubernetes.io/os=linux   29m
weave-net    4         4         4       4            4                                   18m

[root@master ~]# kubectl get pods -n kube-system -l name=weave-net -o yaml | grep IP
    hostIP: 192.168.0.40
    podIP: 192.168.0.40
    hostIP: 192.168.0.41
    podIP: 192.168.0.41
    hostIP: 192.168.0.21
    podIP: 192.168.0.21
    hostIP: 192.168.0.42
    podIP: 192.168.0.42

可以看到,每个节点都启动了weave-net的pod,但是发现,hostIP和podIP都是一样的,原因是weave-net使用了hostNetwork,来检查一下

[root@master ~]# kubectl get pods -n kube-system -l name=weave-net -o yaml | grep hostNetwork
    hostNetwork: true
    hostNetwork: true
    hostNetwork: true
    hostNetwork: true

确实如此,

你可能感兴趣的:(kubeadm(三)——安装weave)