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

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

安装 Pod 网络node

要让 Kubernetes Cluster 可以工做,必须安装 Pod 网络,不然 Pod 之间没法通讯。git

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

执行以下命令部署 flannel:docker

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 查看。app

595.png
 

kubeadm join 执行以下:学习

594.png

根据提示,咱们能够经过 kubectl get nodes 查看节点的状态。ui

596.png

目前全部节点都是 NotReady,这是由于每一个节点都须要启动若干组件,这些组件都是在 Pod 中运行,须要首先从 google 下载镜像,咱们能够经过以下命令查看 Pod 的状态:google

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 的各项技术。

书籍:

1.《天天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html


2.《天天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

相关文章
相关标签/搜索