温馨提示×

centos k8s部署要装什么

小樊
46
2026-09-12 06:33:26
栏目: 智能运维

CentOS 上部署 Kubernetes(k8s),通常需要准备系统环境 + 容器运行时 + k8s 核心组件。下面按必须可选给你列清楚,并附带常见版本建议。


一、基础系统准备(必须)

1. 系统要求

  • CentOS 7 / CentOS Stream 8 / 9(⚠ CentOS 7 已停止维护,建议 8/9)
  • 2 核 CPU 以上
  • 2GB 内存以上(生产建议 4G+)
  • 静态 IP(或 DHCP 固定)

2. 关闭防火墙 / SELinux

systemctl stop firewalld
systemctl disable firewalld

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3. 关闭 swap

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

4. 内核参数 & 模块

modprobe br_netfilter

cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

sysctl --system

二、容器运行时(必须,三选一)

✅ 推荐:containerd(K8s 官方推荐)

yum install -y containerd
systemctl enable --now containerd

或 Docker(旧方案)

yum install -y docker
systemctl enable --now docker

⚠ Kubernetes 1.24+ 已移除 dockershim,Docker 需配合 cri-dockerd

或 CRI-O(轻量)

yum install -y cri-o

三、Kubernetes 核心组件(必须)

1. 添加 yum 源

cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key
EOF

2. 安装 kubeadm / kubelet / kubectl

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet

四、初始化集群(必须)

Master 节点

kubeadm init \
  --pod-network-cidr=10.244.0.0/16

配置 kubectl

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

加入 Worker 节点

kubeadm join <master-ip>:6443 --token xxx --discovery-token-ca-cert-hash xxx

五、网络插件(必须)

常用:

  • Flannel(简单)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  • Calico(生产推荐)
  • Cilium(高性能)

六、可选但常用

组件 作用
Helm 包管理
Metrics Server 资源监控
Ingress Nginx 外部访问
Dashboard Web UI
HAProxy / Keepalived 高可用

七、最小化安装清单总结

必须装:

  • CentOS
  • containerd / docker
  • kubelet
  • kubeadm
  • kubectl
  • 网络插件(Flannel/Calico)

不用装:

  • Docker(1.24+ 不强制)
  • 图形界面

如果你愿意,我可以:

  • 给你一套 CentOS 一键部署脚本
  • 区分 单节点 / 高可用
  • 生产环境学习环境给你定制方案

你现在是 学习 还是 生产部署

0