加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (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

... Conditions ... Ready False... KubeletNotReady runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized ... 

可以看到节点处于“NodeNotReady”的原因在于尚未部署任何网络插件,为了进一步验证着一点还可以通过kubectl检查这个节点上各个Kubernetes系统Pod的状态,命令及执行效果如下:

root@kubernetesnode01:/opt/kubernetes-config# kubectl get pods -n kube-system NAME                                       READY   STATUS    RESTARTS   AGE coredns-66bff467f8-l4wt6                   0/1     Pending   0          64m coredns-66bff467f8-rcqx6                   0/1     Pending   0          64m etcd-kubernetesnode01                      1/1     Running   0          64m kube-apiserver-kubernetesnode01            1/1     Running   0          64m kube-controller-manager-kubernetesnode01   1/1     Running   0          64m kube-proxy-wjct7                           1/1     Running   0          64m kube-scheduler-kubernetesnode01            1/1     Running   0          64m 

命令中“kube-system”表示的是Kubernetes项目预留的系统Pod空间(Namespace),需要注意它并不是Linux Namespace,而是Kuebernetes划分的不同工作空间单位。回到命令输出结果,可以看到coredns等依赖于网络的Pod都处于Pending(调度失败)的状态,这样说明了该Master节点的网络尚未部署就绪。

5、部署Kubernetes网络插件

前面部署Master节点中由于没有部署网络插件,所以节点状态显示“NodeNotReady”状态。接下来的内容我们就来具体部署下网络插件。在Kubernetes“一切皆容器”的设计理念指导下,网络插件也会以独立Pod的方式运行在系统中,所以部署起来也很简单只需要执行“kubectl apply”指令即可,例如以Weave网络插件为例:

root@kubernetesnode01:/opt/kubernetes-config# kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d ' ') 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.apps/weave-net created 

部署完成后通过“kubectl get”命令重新检查Pod的状态:

root@kubernetesnode01:/opt/kubernetes-config# kubectl get pods -n kube-system NAME                                       READY   STATUS    RESTARTS   AGE coredns-66bff467f8-l4wt6                   1/1     Running   0          116m coredns-66bff467f8-rcqx6                   1/1     Running   0          116m etcd-kubernetesnode01                      1/1     Running   0          116m kube-apiserver-kubernetesnode01            1/1     Running   0          116m kube-controller-manager-kubernetesnode01   1/1     Running   0          116m kube-proxy-wjct7                           1/1     Running   0          116m kube-scheduler-kubernetesnode01            1/1     Running   0          116m weave-net-746qj  

可以看到,此时所有的系统Pod都成功启动了,而刚才部署的Weave网络插件则在kube-system下面新建了一个名叫“weave-net-746qj”的Pod,而这个Pod就是容器网络插件在每个节点上的控制组件。

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

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

推荐文章
    热点阅读