部署 k8s Cluster(下)- 每天5分钟玩转 Docker 容器技术(119)

上节我们通过 kubeadm 在 k8s-master 上部署了 Kubernetes,本节安装 Pod 网络并添加 k8s-node1 和 k8s-node2,完成集群部署。

安装 Pod 网络

要让 Kubernetes Cluster 能够工作,必须安装 Pod 网络,否则 Pod 之间无法通信。

Kubernetes 支持多种网络方案,这里我们先使用 flannel,后面还会讨论 Canal。

执行如下命令部署 flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

593.png

 

添加 k8s-node1 和 k8s-node2

在 k8s-node1 和 k8s-node2 上分别执行如下命令,将其注册到 Cluster 中:

kubeadm join --token d38a01.13653e584ccc1980 192.168.56.105:6443

这里的 --token 来自前面 kubeadm init 输出的第 ⑨ 步提示,如果当时没有记录下来可以通过 kubeadm token list 查看。

595.png

 

kubeadm join 执行如下:

594.png

根据提示,我们可以通过 kubectl get nodes 查看节点的状态。

596.png

目前所有节点都是 NotReady,这是因为每个节点都需要启动若干组件,这些组件都是在 Pod 中运行,需要首先从 google 下载镜像,我们可以通过如下命令查看 Pod 的状态:

kubectl get pod --all-namespaces

597.png

PendingContainerCreatingImagePullBackOff 都表明 Pod 没有就绪,Running 才是就绪状态。我们可以通过 kubectl describe pod <Pod Name> 查看 Pod 具体情况,比如:

kubectl describe pod kube-flannel-ds-v0p3x --namespace=kube-system

598.png

 

为了节省篇幅,这里只截取命令输出的最后部分,可以看到在下载 image 时失败,如果网络质量不好,这种情况是很常见的。我们可以耐心等待,因为 Kubernetes 会重试,我们也可以自己手工执行 docker pull 去下载这个镜像。

等待一段时间,image 都成功下载后,所有 Pod 会处于 Running 状态。

599.png

这时,所有的节点都已经 Ready,Kubernetes Cluster 创建成功,一切准备就绪。

600.png

小结

本章通过 kubeadm 部署了三节点的 Kubernetes 集群,后面章节我们都将在这个实验环境中学习 Kubernetes 的各项技术。


本文转自CloudMan6 51CTO博客,原文链接:http://blog.51cto.com/cloudman/2060919


优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/463205

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。