当前位置:首页 > Centos > 正文

从零开始搭建CentOS Kubernetes集群(新手也能轻松上手的K8s部署指南)

在当今云原生时代,Kubernetes(简称 K8s)已成为容器编排的事实标准。如果你正在使用 CentOS 系统,并希望搭建一个本地或测试用的 Kubernetes 集群,那么本教程将一步步带你完成整个过程。无论你是刚接触容器技术的新手,还是有一定经验的开发者,都能轻松跟着操作。

从零开始搭建CentOS Kubernetes集群(新手也能轻松上手的K8s部署指南) CentOS Kubernetes集群搭建  Kubernetes安装教程 CentOS部署K8s 新手入门Kubernetes 第1张

一、准备工作

在开始之前,请确保你有以下环境:

  • 至少两台 CentOS 7 或 CentOS Stream 8/9 的虚拟机或物理机(一台作为 Master 节点,一台或多台作为 Worker 节点)
  • 每台机器至少 2 核 CPU 和 2GB 内存
  • 所有节点之间网络互通,且能访问互联网
  • root 权限或具有 sudo 权限的用户

二、在所有节点上执行基础配置

以下命令需在 所有节点(包括 Master 和 Worker)上执行。

1. 关闭防火墙(生产环境建议配置规则而非关闭)

sudo systemctl stop firewalldsudo systemctl disable firewalld

2. 禁用 SELinux

sudo setenforce 0sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

3. 关闭 swap

sudo swapoff -asudo sed -i '/ swap / s/^/#/' /etc/fstab

4. 配置内核参数(启用 br_netfilter 模块)

cat <

三、安装 Docker 和 containerd(容器运行时)

Kubernetes 需要一个容器运行时。这里我们使用 Docker(底层使用 containerd)。

# 安装必要工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加 Docker 官方仓库sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装 Dockersudo yum install -y docker-ce docker-ce-cli containerd.io# 启动并设置开机自启sudo systemctl enable dockersudo systemctl start docker

四、安装 kubeadm、kubelet 和 kubectl

这些是 Kubernetes 的核心组件。

# 添加 Kubernetes 官方 YUM 仓库cat <

五、初始化 Master 节点

仅在 Master 节点执行以下命令。

# 初始化集群(注意替换为你 Master 节点的 IP)sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=你的MasterIP

初始化成功后,你会看到类似以下的输出(请妥善保存):

Your Kubernetes control-plane 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/configThen you can join any number of worker nodes by running the following on each as root:kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \    --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

按照提示配置 kubectl:

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

六、安装网络插件(Flannel)

Kubernetes 需要 CNI 网络插件来实现 Pod 间通信。这里我们使用 Flannel。

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

七、加入 Worker 节点

回到 Worker 节点,执行上一步中 kubeadm init 输出的 kubeadm join 命令(以 root 身份):

sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \    --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

八、验证集群状态

回到 Master 节点,运行以下命令查看节点状态:

kubectl get nodes

如果一切正常,你会看到类似如下输出(STATUS 为 Ready):

NAME     STATUS   ROLES           AGE   VERSIONmaster   Ready    control-plane   10m   v1.28.0worker1  Ready    <none>          2m    v1.28.0

九、总结

恭喜!你已经成功在 CentOS 上搭建了一个功能完整的 Kubernetes 集群。通过本教程,你掌握了从系统配置、容器运行时安装到集群初始化和节点加入的全过程。这正是 新手入门 Kubernetes 的关键第一步。

后续你可以尝试部署 Nginx、MySQL 等应用,学习 Service、Ingress、PersistentVolume 等高级概念,逐步深入云原生世界。

记住,实践是最好的老师。动手操作,才能真正掌握 CentOS Kubernetes集群搭建 的精髓!