kubeadm部署单master节点( 四 )

这个过程大概15s的时间就做完了 , 之所以初始化的这么快就是因为我们提前拉取了镜像 。
像我上面这样的没有报错信息 , 并且显示最后的kubeadm join 192.168.50.128:6443 --token abcdef.0123456789abcdef这些 , 说明我们的master是初始化成功的 。
当然我们还需要按照最后的提示在使用kubernetes集群之前还需要再做一下收尾工作 , 注意是在master节点上执行的 。
[root@master ~]# mkdir -p $HOME/.kube[root@master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config[root@master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config好了 , 此时的master节点就算是初始化完毕了 。 有个重要的点就是最后一行信息 , 这是node节点加入kubernetes集群的认证命令 。 这个密钥是系统根据sha256算法计算出来的 , 必须持有这样的密钥才可以加入当前的kubernetes集群 。
如果此时查看当前集群的节点 , 会发现只有master节点自己 。
[root@master ~]# kubectl get nodeNAMESTATUSROLESAGEVERSIONmasterNotReadymaster2m53sv1.18.6接下来我们把node节点加入到kubernetes集群中
2.5、node节点加入kubernetes集群中先把加入集群的命令明确一下 , 此命令是master节点初始化成功之后给出的命令 。
注意 , 你的初始化之后与我的密钥指令肯定是不一样的 , 因此要用自己的命令才行 , 我这边是为了给大家演示才贴出来的 。
~]# kubeadm join 192.168.50.128:6443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:05b84c41152f72ca33afe39a7ef7fa359eec3d3ed654c2692b665e2c4810af3e(1)node1节点加入集群[root@node1 ~]# kubeadm join 192.168.50.128:6443 --token abcdef.0123456789abcdef--discovery-token-ca-cert-hash sha256:05b84c41152f72ca33afe39a7ef7fa359eec3d3ed654c2692b665e2c4810af3e[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'[kubelet-start] Downloading configuration for the kubelet from the "kubelet-config-1.17" ConfigMap in the kube-system namespace[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"[kubelet-start] Starting the kubelet[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...This node has joined the cluster:* Certificate signing request was sent to apiserver and a response was received.* The Kubelet was informed of the new secure connection details.Run 'kubectl get nodes' on the control-plane to see this node join the cluster当看到This node has joined the cluster , 这一行信息表示node节点加入集群成功 ,
(2)node2节点加入集群node2节点也是使用同样的方法来执行 。 所有的节点加入集群之后 , 此时我们可以在master节点执行如下命令查看此集群的现有节点 。
[root@master ~]# kubectl get nodesNAMESTATUSROLESAGEVERSIONmasterNotReadymaster2m53sv1.18.6node1NotReady73sv1.18.6node2NotReady7sv1.18.6可以看到集群的三个节点都已经存在 , 但是现在还不能用 , 也就是说集群节点是不可用的 , 原因在于上面的第2个字段 , 我们看到三个节点都是NotReady状态 , 这是因为我们还没有安装网络插件 , 这里我们选择使用flannel插件 。
2.6、安装Flannel网络插件Flannel是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具 , 其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有一个完整的子网 。 这次的分享内容将从Flannel的介绍、工作原理及安装和配置三方面来介绍这个工具的使用方法 。