CentOS 9云服务器K8S集群部署实战指南
想在CentOS 9云服务器上高效搭建Kubernetes(K8S)集群?作为企业级容器编排的核心工具,K8S能实现容器化应用的自动化部署、扩缩容和管理,而CentOS 9凭借稳定的系统内核与长期支持(LTS)特性,正是承载K8S集群的理想环境。本文将从准备工作到集群验证全流程拆解,助你快速掌握部署技巧。
前置准备:硬件与环境配置
部署前需明确基础资源需求:建议准备至少3台CentOS 9云服务器(1台主节点+2台工作节点),每台配置2核4G以上内存,确保独立IP且节点间网络互通(可通过安全组开放6443、2379等K8S必要端口)。此外,K8S依赖容器运行时,需提前在所有节点安装Docker:
sudo dnf install -y docker
sudo systemctl start docker
sudo systemctl enable docker
以某电商团队为例,他们计划将微服务迁移至容器化架构,选择CentOS 9云服务器作为底层环境,正是因为其与K8S的兼容性及长期稳定性,能支撑大促期间的高并发需求。
安装K8S核心组件
所有节点需安装kubeadm(集群初始化工具)、kubelet(节点代理)和kubectl(命令行管理工具)。首先添加K8S软件源:
cat <
执行安装命令(--disableexcludes参数确保安装被排除的组件):
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
主节点初始化与网络配置
在主节点执行初始化命令,指定Pod网络地址段(以Flannel插件为例):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化完成后,按提示配置kubectl访问权限:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
随后安装Flannel网络插件,实现跨节点容器通信:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
工作节点加入与集群验证
主节点初始化成功后会生成加入命令(示例如下),在工作节点执行该命令完成集群接入:
sudo kubeadm join <主节点IP>:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
通过以下命令检查节点状态,当所有节点显示“Ready”时,集群部署完成:
kubectl get nodes
最后验证集群可用性:创建Nginx部署并暴露服务,通过节点IP+NodePort访问测试页面。
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get services nginx
完成以上步骤,你已在CentOS 9云服务器上搭建起可用的K8S集群。实际应用中可进一步优化,如配置Horizontal Pod Autoscaler(HPA)实现自动扩缩容,或结合云存储服务扩展持久化存储能力,满足不同业务场景需求。