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页面。