您的位置:

如何安装Kubernetes(K8s)

一、安装前的准备工作

在进行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状态。