需使用CentOS 7.6及以上版本(或Rocky Linux/AlmaLinux等CentOS替代方案,兼容RHEL生态);避免使用CentOS 8(已停止官方维护),确保系统内核版本符合Kubernetes要求(如Kubernetes 1.23及以上需内核≥3.10)。
setenforce 0,永久修改/etc/selinux/config文件(将SELINUX=enforcing改为SELINUX=disabled);firewalld服务(systemctl stop firewalld && systemctl disable firewalld);swapoff -a,并注释/etc/fstab中的swap行(Kubernetes要求禁用以提高稳定性);/etc/sysctl.d/k8s.conf文件,启用桥接流量和IP转发,然后执行sysctl -p生效:net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
安装Kubernetes和容器运行时所需的依赖包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ipset ipvsadm jq iptables curl sysstat libseccomp wget vim net-tools git
这些工具用于管理YUM源、配置存储驱动、处理网络策略及增强系统安全性。
Kubernetes需要容器运行时来管理容器生命周期,推荐使用Docker(需19.03及以上版本,支持CRI接口):
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker && sudo systemctl start docker
(注:也可选择containerd或CRI-O作为容器运行时,但需调整Kubernetes组件兼容性)。添加Kubernetes官方YUM源(替换为最新版本链接),并安装kubelet、kubeadm、kubectl(集群初始化、节点代理、命令行工具):
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/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
kubelet:sudo systemctl enable kubelet && sudo systemctl start kubelet
(注:kubelet需保持运行状态,否则无法加入集群)。完成上述准备后,需通过kubeadm init初始化Master节点,配置kubectl,安装网络插件(如Flannel、Calico),并加入Worker节点(执行kubeadm join命令)。具体命令可参考Kubernetes官方文档或对应插件的安装指南。