欢迎访问宙启技术站
智能推送

本地kubeadm搭建kubernetes集群

发布时间:2023-05-18 20:52:51

Kubernetes 是一个开源的容器编排平台,可以实现在集群上运行和部署容器化应用程序。本文将介绍如何通过 kubeadm 在本地搭建一个 Kubernetes 集群。

1、环境准备

在开始之前,确保您已经安装了以下软件:

- Docker(1.13.1+)

- kubeadm(1.8+)

- kubectl(1.8+)

- kubelet(1.8+)

在安装之前,您需要使用以下命令查看您的 Kubernetes 版本:

kubeadm version
kubectl version
kubelet --version

2、初始化 master 节点

首先,我们需要初始化 Kubernetes 主节点。在这个过程中,会生成一个加密的令牌用于新的节点加入到集群中。

sudo kubeadm init --apiserver-advertise-address=<master node IP> --pod-network-cidr=<pod CIDR>

这个命令需要配置以下参数:

- --apiserver-advertise-address:指定 master 节点的 IP 地址

- --pod-network-cidr:指定 Pod 网络的 CIDR

执行完毕后,将输出一些类似的信息:

Your Kubernetes master has initialized successfully!

To start using your cluster, you need to run the following as a regular user:
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
  
You can now join any number of machines by running the following on each node
as root:

  kubeadm join <master node IP>:<master node port> --token <token> --discovery-token-ca-cert-hash <hash>

按照输出中的提示,执行以下命令:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

这个命令将生成一个 config 文件,用于与 Kubernetes API 服务器交互。

3、安装 Pod 网络插件

需要安装 Pod 网络插件,以便在 Kubernetes 集群中实现网络功能。在这个例子中,我们将安装 Calico 作为网络插件。

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

此时,您可以使用下面的命令查看 Calico 的状态:

kubectl get pods -n kube-system

如果一切正常,则将显示类似于以下内容的输出:

NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-6c4d8d8bfd-gdhgx   1/1     Running   0          35s
calico-node-bgbrn                          1/1     Running   0          36s
dns-controller-6bb485f5cd-tlsf4            1/1     Running   0          54s
dns-server-767c4b8b8c-fr6cg                1/1     Running   0          54s

4、加入节点

在初始化主节点后,可以向集群添加其他节点。使用在 master 节点初始化时生成的令牌和哈希值来加入一个新节点。

在新节点上运行以下命令:

sudo kubeadm join <master node IP>:<master node port> --token <token> --discovery-token-ca-cert-hash <hash>

这个命令将新节点加入集群。您可以使用以下命令在 master 节点上检查节点的状态:

kubectl get nodes

这些节点应该会输出像这样的结果:

NAME          STATUS   ROLES                  AGE   VERSION
<master>      Ready    control-plane,master   16m   v1.21.3
<workernode>  Ready    <none>                 13m   v1.21.3

至此,本地 Kubernetes 集群的搭建完成。

总结

本文介绍了如何使用 kubeadm 在本地搭建 Kubernetes 集群。这个过程涉及到许多步骤,需要确保所有软件都已正确安装。Kubernetes 的安装和配置需要更多的学习和练习,才能熟练掌握。