您的位置:首页 > 运维架构 > Docker

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

2018-01-15 00:00 811 查看
摘要: 上节我们通过 kubeadm 在 k8s-master 上部署了 Kubernetes,本节安装 Pod 网络并添加 k8s-node1 和 k8s-node2,完成集群部署。

上节我们通过 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[/code] 


添加 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
查看。



kubeadm join
执行如下:



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



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

kubectl get pod --all-namespaces




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

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




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

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



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



小结

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


书籍:

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐