CentOS上Kubernetes的安装与配置
导读:CentOS 上 Kubernetes 安装与配置 一 环境准备与系统要求 准备至少 2 台 CentOS 主机(建议 CentOS 7/8),一台为 Master,其余为 Worker;每台至少 2 核 CPU、2 GB 内存、20 G...
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 < < EOF net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1 net.ipv4.ip_forward=1 EOF & & sysctl -p /etc/sysctl.d/k8s.conf - 时间同步:
yum install -y chrony & & systemctl enable --now chronyd - 可选 hosts:
echo "< Master_IP> 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 < < EOF | tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-\$basearch/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF - 安装与自启:
yum install -y kubelet kubeadm kubectl & & systemctl enable --now kubelet
上述为在 CentOS 上部署 Kubernetes 常用且稳定的组合与命令路径。
- 仓库(国内镜像示例):
三 初始化 Master 节点
- 初始化命令(按需替换参数):
常见取值:kubeadm init \ --apiserver-advertise-address=< Master_IP> \ --image-repository=registry.aliyuncs.com/google_containers \ --kubernetes-version=< VERSION> \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16< VERSION>选择已安装的版本(如 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 < node>、sysctl -p、chrony状态。 - 防火墙与端口:生产环境不建议直接关闭防火墙,按需放行 6443、10250、2379/2380、10251/10252、30000–32767 等端口(或临时关闭用于排障)。
- 高可用与扩展:生产可部署 多 Master 高可用集群,并接入 Metrics Server 与 HPA 实现弹性伸缩与监控。
- 版本选择:避免过新/过旧版本,保持组件版本一致性与兼容性。
以上为提升成功率与可维护性的实用建议。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS上Kubernetes的安装与配置
本文地址: https://pptw.com/jishu/779141.html
