加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 模式 > 正文

如何部署一个Kubernetes集群

发布时间:2020-08-25 18:15:40 所属栏目:模式 来源:51cto
导读:原文链接:https://mp.weixin.qq.com/s/MFSvDWtue4YruFV3jyLQVw 在本篇文章中我将以在Mac笔记本中安装两台Ubantu系统的方式,演示如何部署一套具备一个控制节点(Master)和一个计算节点(Worker)的Kubernetes学习集群。 1、系统环境准备 要安装部署Kubernete

到这里,Kubernetes的Master节点就部署完成了,如果你只需要一个单节点的Kubernetes,那么现在就可以使用了。但是在默认情况下,Kubernetes的Master节点是不能运行用户Pod的,需要通过额外的操作进行调整,感兴趣的朋友可以自己查阅下其他资料。

6、部署Kubernetes的Worker节点

为了构建一个完整的Kubernetes集群,这里还需要继续介绍如何部署Worker节点。实际上Kubernetes的Worker节点和Master节点几乎是相同的,它们都运行着一个kubelet组件,主要的区别在于“kubeadm init”的过程中,kubelet启动后,Master节点还会自动启动kube-apiserver、kube-scheduler及kube-controller-manager这三个系统Pod。

在具体部署之前与Master节点一样,也需要在所有Worker节点上执行前面“安装kubeadm及Decker环境”小节中的所有步骤。之后在Worker节点执行部署Master节点时生成的“kubeadm join”指令即可,具体如下:

root@kubenetesnode02:~# kubeadm join 10.211.55.6:6443 --token jfulwi.so2rj5lukgsej2o6     --discovery-token-ca-cert-hash sha256:d895d512f0df6cb7f010204193a9b240e8a394606090608daee11b988fc7fea6 --v=5  ... 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. 

完成集群加入后为了便于在Worker节点执行kubectl相关命令,需要进行如下配置:

#创建配置目录 root@kubenetesnode02:~# mkdir -p $HOME/.kube #将Master节点中$/HOME/.kube/目录中的config文件拷贝至Worker节点对应目录 root@kubenetesnode02:~# scp root@10.211.55.6:$HOME/.kube/config $HOME/.kube/ #权限配置 root@kubenetesnode02:~# sudo chown $(id -u):$(id -g) $HOME/.kube/config 

之后可以在Worker或Master节点执行节点状态查看命令“kubectl get nodes”,具体如下:

root@kubernetesnode02:~# kubectl get nodes NAME               STATUS     ROLES    AGE   VERSION kubenetesnode02    NotReady      33m   v1.18.4 kubernetesnode01   Ready      master   29h   v1.18.4 

通过节点状态显示此时Work节点还处于NotReady状态,具体查看节点描述信息如下:

root@kubernetesnode02:~# kubectl describe node kubenetesnode02 ... Conditions: ... Ready False ... KubeletNotReady runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized ... 

根据描述信息,发现Worker节点NotReady的原因也在于网络插件没有部署,继续执行“部署Kubernetes网络插件”小节中的步骤即可。但是要注意部署网络插件时会同时部署kube-proxy,其中会涉及从k8s.gcr.io仓库获取镜像的动作,如果无法访问外网可能会导致网络部署异常,这里可以参考前面安装Master节点时的做法,通过国内镜像仓库下载后通过tag的方式进行标记,具体如下:

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读