(接上篇) 根据non-root用户和root用户,设置kubectl使用的配置文件。
non-root用户设置命令入如下:
HOME/.kube
HOME/.kube/config
(id -u):HOME/.kube/config
root用户设置命令如下:
export KUBECONFIG=/etc/Kubernetes/admin.conf
为了方便,也可以将KUBECONFIG设置成自动生效的系统环境变量,命令如下:
# vim /etc/profile
export KUBECONFIG=/etc/Kubernetes/admin.conf
安装pod network所需的网络插件,命令如下:
# kubectl apply -f docs.projectCalico.org/v3.8/manife…
本节使用的网络插件是Calico,我们也可以根据具体需求选择其他的网络插件,比如flannel、Weave Net、kube-router等。
至此,一个完整的Kubernetes控制节点就搭建完成了,但还不能算一个完整单节点集群,因为该控制节点默认不接受负载调度。要使其能够接受负载调度,需要进行如下设置:
# kubectl taint nodes --all node-role.Kubernetes.io/master-
2)部署Kubernetes单控制节点集群。
Kubernetes的单控制节点集群,是指该Kubernetes集群只有一个控制节点,但可以有不止一个的计算节点。部署该集群只需在部署Kubernetes单节点集群中安装pod network所需的网络插件之后,计算节点加入该控制节点即可,具体命令如下:
ubeadm join : --token --discovery-token-ca-cert-hash sha256:
使用kubeadm join可以将多个计算节点加入到已经部署成功的控制节点,与控制节点组成一个单控制节点的Kubernetes集群。
3)部署Kubernetes高可用集群。
kubeadm除了可以部署单节点Kubernetes集群和单控制节点Kubernetes集群外,还可以部署高可用Kubernetes集群。Kubeadm部署Kubernetes高可用集群的架构包含两种,即ectd集群与Kubernetes控制节点集群一起部署的Kubernetes高可用集群,以及ectd集群与Kubernetes控制节点集群分开部署的Kubernetes高可用集群,具体架构如图2-11和图2-12所示。
图2-11 ectd集群与Kubernetes控制节点集群一起部署
图2-12 ectd集群与Kubernetes控制节点集群分开部署
由图2-11和图2-12可知,Kubernetes集群高可用即Kubernetes集群中master节点和etcd集群的高可用。etcd集群又有两种高可用部署方式,即ectd集群与Kubernetes控制节点集群一起部署和ectd集群与Kubernetes控制节点集群分开部署。
部署Kubernetes高可用集群是面向生产环境的,需要的资源比较多,部署步骤也相对比较复杂,限于篇幅本书就不展开说明了,感兴趣的读者可以参考Kubernetes官网进行实践。 「未完待续……」 点击下方标题可阅读技术文章