阅读量:3
CentOS 上 Kubernetes 安装与配置
一 环境准备与系统要求
- 准备至少 2 台 CentOS 主机(建议 CentOS 7/8),一台为 Master,其余为 Worker;每台至少 2 核 CPU、2 GB 内存、20 GB 磁盘,并配置 静态 IP 与 主机名。
- 所有节点完成基础配置:
- 关闭交换分区:
swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab - 关闭防火墙(测试环境):
systemctl stop firewalld && systemctl disable firewalld - 关闭 SELinux(测试环境):
setenforce 0 && sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config - 内核网络参数:
cat >/etc/sysctl.d/k8s.conf < - 时间同步:
yum install -y chrony && systemctl enable --now chronyd - 可选 hosts:
echo "k8s-master" >> /etc/hosts
以上为常见前置步骤,便于容器网络与 kubelet 正常运行。
- 关闭交换分区:
二 安装容器运行时与 Kubernetes 组件
- 安装容器运行时(以 Docker 为例):
- 依赖:
yum install -y yum-utils device-mapper-persistent-data lvm2 - 仓库:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - 安装与启动:
yum install -y docker-ce docker-ce-cli containerd.io && systemctl enable --now docker
- 依赖:
- 安装 Kubernetes 组件(kubeadm、kubelet、kubectl):
- 仓库(国内镜像示例):
cat < - 安装与自启:
yum install -y kubelet kubeadm kubectl && systemctl enable --now kubelet
上述为在 CentOS 上部署 Kubernetes 常用且稳定的组合与命令路径。
- 仓库(国内镜像示例):
三 初始化 Master 节点
- 初始化命令(按需替换参数):
常见取值:kubeadm init \ --apiserver-advertise-address=\ --image-repository=registry.aliyuncs.com/google_containers \ --kubernetes-version= \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16 选择已安装的版本(如 v1.22.x),--pod-network-cidr需与所选 CNI 插件一致。 - 配置 kubectl:
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config - 保存节点加入命令:初始化成功后控制台会输出
kubeadm join ...,请妥善保存以供 Worker 加入使用。
以上流程覆盖初始化、镜像仓库加速与 kubectl 配置的关键环节。
四 部署 CNI 网络插件与加入 Worker 节点
- 部署 CNI 网络插件(二选一,与
--pod-network-cidr保持一致):- Calico:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml - Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.11.0/Documentation/kube-flannel.yml
- Calico:
- 加入 Worker 节点:在每台 Worker 上执行上一步保存的
kubeadm join ...命令。 - 验证:
等待所有节点状态为 Ready、核心系统 Pod 均为 Running。kubectl get nodes kubectl get pods -A
网络插件是集群互通的前提,务必在 Master 就绪后立即安装。
五 常见问题与优化建议
- 镜像拉取慢或失败:使用国内镜像仓库(如
registry.aliyuncs.com/google_containers)并配置 Docker 镜像加速;必要时在kubeadm init中显式指定--image-repository。 - 节点 NotReady:多因未安装 CNI、内核参数未生效或时间不同步;检查
kubectl describe node、sysctl -p、chrony状态。 - 防火墙与端口:生产环境不建议直接关闭防火墙,按需放行 6443、10250、2379/2380、10251/10252、30000–32767 等端口(或临时关闭用于排障)。
- 高可用与扩展:生产可部署 多 Master 高可用集群,并接入 Metrics Server 与 HPA 实现弹性伸缩与监控。
- 版本选择:避免过新/过旧版本,保持组件版本一致性与兼容性。
以上为提升成功率与可维护性的实用建议。
以上就是关于“CentOS上Kubernetes的安装与配置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm