Kubernetes集群搭建步骤
搭建Kubernetes集群前需完成基础环境配置,确保所有节点(Master/Worker)满足以下要求:
curl
、wget
、tar
、gcc
等基础工具(用于下载和解压组件)。Kubernetes依赖容器运行时管理容器,推荐使用Docker(也可选择containerd、CRI-O):
sudo yum update -y sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker && sudo systemctl enable docker sudo docker run hello-world # 验证安装
docker
组,避免每次使用Docker需输入sudo
:sudo usermod -aG docker $USER newgrp docker # 立即生效
Kubernetes的核心组件包括kubelet
(节点代理)、kubeadm
(集群初始化工具)、kubectl
(命令行工具),需在所有节点安装:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
sudo yum install -y kubelet kubeadm kubectl sudo systemctl enable --now kubelet # 设置kubelet开机自启
Master节点是集群的控制中心,负责调度、管理集群状态:
<Pod网络CIDR>
,如10.244.0.0/16
,需与后续网络插件配置一致):sudo kubeadm init --pod-network-cidr=<Pod网络CIDR>
kubectl
(用于管理集群):mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
,此时Master节点状态应为NotReady
(需等待网络插件安装后变为Ready
)。Kubernetes需要网络插件实现Pod间通信,常用插件包括Flannel(轻量级)、Calico(高性能):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl get pods -n kube-system
,检查网络插件Pod是否全部处于Running
状态。Worker节点用于运行应用,通过kubeadm join
命令加入集群:
kubeadm join <Master_IP>:6443 --token <TOKEN> --discovery-token-ca-cert-hash <HASH>
Ready
。kubectl get nodes
,确认所有节点状态为Ready
。kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --type=NodePort --port=80 kubectl get pods,svc # 查看Pod和Service状态
NodePort
(如http://<Node_IP>:31000
)访问Nginx页面。