一、安装前的准备工作
在进行K8s的安装前,请确保您已完成以下步骤:
1、准备至少2台服务器,一台作为master,一个或多个作为node;
2、确保所有服务器上已经安装了Docker;
3、为所有服务器配置好hostname,并确保它们能够互相ping通;
二、安装kubeadm
kubeadm是K8s的一个工具,可以简化集群的建立和管理。安装它需要在master节点上执行以下命令:
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <
三、初始化master节点
在master节点上使用kubeadm初始化一个kubernetes集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
注意:pod网络cidr必须是一个不与现有的网络冲突的CIDR地址段。同时,kubeadm init的实际输出与K8s的版本和工作负载有关。
执行后,根据终端的提示,将输出信息记录下来。在之后添加node节点时,将需要这些信息。
四、安装cni插件
Kubernetes需要一个容器网络接口(CNI)插件来配置Pod网络。我们将使用flannel作为cni插件,flannel是Kubernetes社区推荐的cni插件之一。执行以下命令安装flannel:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml
五、加入node节点
使用kubeadm init输出的信息,将node节点加入K8s集群:
sudo kubeadm join $apiserver_endpoint --token $token --discovery-token-ca-cert-hash $hash
在上面的命令中,apiserver_endpoint是kubeadm init输出的apiserver IP地址和端口,token和discovery-token-ca-cert-hash分别是kubeadm init输出的Token和CA证书hash。
六、测试K8s集群
最后,我们需要检查K8s集群是否成功启动。在master节点上执行以下命令:
sudo kubectl get nodes
如果成功,您应该看到所有添加的节点都已经处于ready状态。