阅读量:3
在 CentOS 上配置 k8s 安装环境
一 环境要求与规划
- 操作系统与硬件:建议使用 CentOS 7.x/8.x,2 核 CPU、≥2GB 内存、≥30GB 磁盘(生产推荐更高规格)。节点间网络互通,可访问外网以下载镜像。
- 主机规划示例:
- 角色:Master / Node1 / Node2
- IP:172.16.3.181 / 172.16.3.182 / 172.16.3.183
- 主机名:k8smaster / k8snode1 / k8snode2
- 基础要求:禁用 Swap、关闭 firewalld 与 SELinux、开启 时间同步、配置 主机名与 /etc/hosts、开启内核转发与桥接流量到 iptables。
二 所有节点通用配置
- 关闭防火墙与 SELinux
systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config - 禁用 Swap(临时与永久)
swapoff -a sed -i '/swap/d' /etc/fstab - 设置主机名与 hosts
hostnamectl set-hostname k8smaster # 在对应节点执行 cat >> /etc/hosts < - 内核参数与模块
modprobe br_netfilter cat > /etc/sysctl.d/k8s.conf < - 时间同步
yum install -y ntpdate -y ntpdate time.windows.com # 或 chrony 同步 - 说明:以上为 kubeadm 部署前的通用前置条件,能显著提升初始化成功率。
三 安装容器运行时与 Kubernetes 组件
- 安装 Docker(所有节点)
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io systemctl enable --now docker # 镜像加速(可选) mkdir -p /etc/docker tee /etc/docker/daemon.json <<'EOF' { "registry-mirrors": ["https://docker.m.daocloud.io"] } EOF systemctl daemon-reload && systemctl restart docker - 安装 kubeadm、kubelet、kubectl(所有节点)
cat > /etc/yum.repos.d/kubernetes.repo < - 提示:如使用 containerd 作为运行时,可改用 containerd 官方流程并配置 SystemdCgroup=true,本文以 Docker 为例。
四 初始化 Master 与加入 Node
- 初始化控制平面(仅在 Master 执行,按需替换参数)
kubeadm init \ --apiserver-advertise-address=172.16.3.181 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.28.2 \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16 - 配置 kubectl
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config - 加入 Worker 节点(在 Node 执行,使用 kubeadm init 输出的 join 命令)
kubeadm join 172.16.3.181:6443 \ --token\ --discovery-token-ca-cert-hash sha256: - 若 token 过期,可在 Master 重新生成:
kubeadm token create --print-join-command - 说明:上述命令中的 service-cidr 与 pod-network-cidr 需与所选 CNI 插件规划保持一致。
五 安装 CNI 网络插件与验证
- 安装 CNI(二选一,确保与 pod-network-cidr 一致)
- Flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml - Calico
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
- Flannel
- 验证
kubectl get nodes # 状态应为 Ready kubectl get pods -A # 核心组件与 CNI Pod Running - 常见问题速查
- 节点 NotReady:多因 CNI 未部署 或 内核参数/防火墙 未正确配置。
- 镜像拉取失败:使用 国内镜像仓库 或提前导入镜像;检查网络连通性。
- kubelet 未就绪:确认 kubelet 开机自启 且 cgroup 驱动一致(Docker 建议 systemd)。
以上就是关于“centos如何配置k8s安装环境”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm