如何部署k8集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
我们将部署三个节点的Kubernetes集群。
k8s-master是主人,k8s-node1和k8s-node2是节点。
所有节点的操作系统均为Ubuntu 16.04,当然其Linux也他是可以的。
注意:Kubernetes几乎所有的安装组件和码头工人镜像都放在goolge自己的网站上,这对国内的同学可能是个不小的障碍。建议是:网络障碍都必须想办法克服,不然连Kubernetes的门都进不了。
<强>安装码头工人强>
所有节点都需要安装码头工人。
apt-get update ,,, apt-get install 码头工人。io
<>强安装kubelet, kubeadm和kubectl 强>
在所有节点上安装kubelet, kubeadm和kubectl。
kubelet运行在集群所有节点上,负责启动Pod和容器。
kubeadm用于初始化集群。
kubectl是Kubernetes命令行工具。通过kubectl可以部署和管理应用,查看各种资源,创建,删除和更新各种组件。
apt-get update ,,, apt-get install -y apt-transport-httpscurl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg |, apt-key add -cat & lt; & lt; EOF 在/etc/apt/sources.list.d/kubernetes.listdeb http://apt.kubernetes.io/ kubernetes-xenial mainEOFapt-get updateapt-get install -y kubelet kubeadm kubectl
用kubeadm创建集群
完整的官方文档可以参考,https://kubernetes。io/docs/设置/独立/create-cluster-kubeadm/
初始化主
在主上执行如下命令:
kubeadm init ——apiserver-advertise-address 192.168.56.105 ——pod-network-cidr=10.244.0.0/16
<代码>——apiserver-advertise-address> 代码,指明用大师的哪个接口与集群的其他节点通信。如果大师有多个接口,建议明确指定,如果不指定,kubeadm会自动选择有默认网关的界面。
<代码>——pod-network-cidr> 代码,指定舱网络的范围.Kubernetes支持多种网络方案,而且不同网络方案对,<代码>——pod-network-cidr> 代码,有自己的要求,这里设置为,<代码> 10.244.0.0/16> 代码,是因为我们将使用法兰绒网络方案,必须设置成这个CIDR。在后面的实践中我们会切换到其他网络方案,比如运河。
初始化过程如下:
①kubeadm执行初始化前的检查。
②生成令牌和证书。
③生成KubeConfig文件,kubelet需要这个文件与主通信。
④安装大师组件,会从goolge的注册表下载组件的码头工人镜像,这一步可能会花一些时间,主要取决于网络质量。
⑤安装附加组件kube-proxy和kube-dns。
⑥Kubernetes主人初始化成功。
⑦提示如何配置kubectl,后面会实践。
⑧提示如何安装舱网络,后面会实践。
⑨提示如何注册其他节点到集群,后面会实践。
<强>配置kubectl 强>
kubectl是管理Kubernetes集群的命令行工具,前面我们已经在所有的节点安装了kubectl.Master初始化完成后需要做一些配置工作,然后kubectl就能使用了。
依照,<代码> kubeadm init 代码>,输出的第⑦步提示,推荐用Linux普通用户执行kubectl(根会有一些问题)。
我们为ubuntu用户配置kubectl:
su 作用;ubuntumkdir -p $ HOME/.kubesudo cp 小姐/etc/kubernetes/admin.conf $ HOME/.kube/configsudo chown 美元(id - u):美元(id - g), $ HOME/ube/配置
为了使用更便捷,启用kubectl命令的自动补全功能。
echo “source & lt; (kubectl completion  bash)“,在在~/ashrc(
这样ubuntu用户就可以使用kubectl了。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。