本地kubeadm搭建kubernetes集群
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 的安装和配置需要更多的学习和练习,才能熟练掌握。
