新闻详情

新闻详情

首页 / 资讯中心 / 详情

K8s集群离线环境Kubeadm安装部署管理实操

发布时间:2026/9/28 21:09:29来源:尧图网络
K8s集群离线环境Kubeadm安装部署管理实操
K8s集群离线环境Kubeadm安装部署管理实操技术栈kubeadm v1.32.13 Kubernetes v1.32.13 Rocky Linux 8.6 Containerd 1.7.x Calico操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案K8s集群离线环境Kubeadm安装部署管理实操操作环境K8s 集群版本 v1.32.13kubeadm 初始化操作系统 Rocky Linux 8.6内核 4.18.x容器运行时 Containerd 1.7.13已配置 systemd cgroup3 Master 3 Worker高可用架构网络插件 Calico v3.27.xPod CIDR 10.244.0.0/16离线镜像仓库 Harbor已预加载 K8s 组件镜像root 权限主机名解析正常时间同步对接原理kubeadm 是官方推荐的 K8s 集群部署工具通过 init/join/upgrade/reset 等子命令管理集群生命周期。kubeadm init 在 Master 节点生成证书CA/apiserver/etcd/front-proxy、静态 Pod 清单apiserver/controller-manager/scheduler/etcd、kubeconfig 文件admin/controller-manager/scheduler/kubelet、ConfigMapkubeadm-config/kubelet-config并启动控制平面。kubeadm join 通过 bootstrap token 向 apiserver 认证获取集群信息配置 kubelet 并加入集群。高可用部署需外部 etcd 或堆叠 etcd 负载均衡HAProxy/Keepalivedapiserver 指向 VIP。证书默认有效期1年可用 kubeadm certs renew 续期CA 证书10年。升级流程kubeadm upgrade plan 检查 - kubeadm upgrade applyMaster- kubeadm upgrade nodeWorker- 升级 kubelet/kubectl。详细步骤1. 系统初始化# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭SELinux setenforce 0 sed -i s/^SELINUXenforcing$/SELINUXpermissive/ /etc/selinux/config # 关闭Swap swapoff -a sed -i /swap/d /etc/fstab # 内核参数 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 # 加载ipvs模块 cat /etc/sysconfig/modules/ipvs.modules EOF #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack EOF chmod 755 /etc/sysconfig/modules/ipvs.modules bash /etc/sysconfig/modules/ipvs.modules # 时间同步 yum install -y chrony systemctl enable --now chronyd2. 安装Containerd和kubeadm# 安装Containerd yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y containerd.io containerd config default /etc/containerd/config.toml sed -i s/SystemdCgroup false/SystemdCgroup true/ /etc/containerd/config.toml sed -i s#registry.k8s.io#harbor.example.com/k8s# /etc/containerd/config.toml systemctl enable --now containerd # 安装kubeadm/kubelet/kubectl cat /etc/yum.repos.d/kubernetes.repo EOF [kubernetes] nameKubernetes baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled1 gpgcheck0 repo_gpgcheck0 EOF yum install -y kubelet-1.32.13 kubeadm-1.32.13 kubectl-1.32.13 systemctl enable kubelet # 配置crictl crictl config runtime-endpoint unix:///run/containerd/containerd.sock3. kubeadm init初始化集群# 预拉取镜像 kubeadm config images pull --image-repository harbor.example.com/k8s --kubernetes-version v1.32.13 # 初始化集群 kubeadm init \ --kubernetes-version v1.32.13 \ --apiserver-advertise-address10.0.0.10 \ --control-plane-endpoint10.0.0.100:6443 \ --pod-network-cidr10.244.0.0/16 \ --service-cidr10.96.0.0/12 \ --image-repository harbor.example.com/k8s \ --cri-socketunix:///run/containerd/containerd.sock \ --upload-certs # 配置kubectl mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config # 安装Calico kubectl apply -f https://docs.projectcalico.org/v3.27/manifests/calico.yaml # 查看节点 kubectl get nodes验证流程# 1. 验证节点状态 kubectl get nodes # 所有节点Ready # 2. 验证系统Pod kubectl get pods -n kube-system # 核心组件Running # 3. 验证网络 kubectl get pods -n kube-system | grep calico # 4. 验证DNS kubectl run dns-test --imagebusybox --restartNever -- nslookup kubernetes # 5. 验证证书 kubeadm certs check-expiration # 6. 验证版本 kubectl version --short kubeadm version排错方案kubeadm init失败检查端口6443/10250/2379是否被占用镜像是否可拉取--image-repositorycgroup驱动是否一致systemdswap是否关闭内核参数是否配置节点join失败检查token是否有效kubeadm token listCA hash是否正确网络是否可达Master VIP防火墙是否放行cri-socket是否正确证书过期kubeadm certs check-expiration查看kubeadm certs renew all续期重启控制平面静态Pod更新admin.conf注意CA证书10年有效期升级失败先kubeadm upgrade plan检查兼容性逐个节点升级Worker升级前cordondrainkubeadm和kubelet版本匹配升级后重启kubeletetcd故障检查etcd静态Pod是否Runningetcd数据目录/var/lib/etcdetcdctl endpoint health磁盘空间是否充足多Master时etcd集群是否健康apiserver不启动检查证书是否有效etcd是否可达--advertise-address是否正确端口是否被占用查看apiserver日志高可用VIP不漂移检查Keepalived配置state/priority/virtual_router_idHAProxy后端健康检查防火墙放行VRRP协议节点间网络连通重置不干净kubeadm reset后清理iptables/ipvs/CNI/kubelet数据容器运行时数据必要时重启节点重新join前确保完全清理
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

人大金仓数据库Docker部署实战:从零搭建到生产落地要点 2026/9/28 22:54:30

人大金仓数据库Docker部署实战:从零搭建到生产落地要点

最近不少人在群里问国产数据库选型的事,聊着聊着总是绕不开人大金仓。这个项目我前前后后折腾了几个月,从最开始只是听说,到后来在Docker里搭环境、做数据迁移、调参数、看日志排查问题,踩了不少坑,也积累了一些实际经…

阅读更多 →
322张绳子检测数据集实战:VOC与YOLO双格式小样本训练避坑指南 2026/9/28 22:53:31

322张绳子检测数据集实战:VOC与YOLO双格式小样本训练避坑指南

简介:本资源为绳子检测数据集,面向从事目标检测算法训练与验证的开发者、学生及研究人员,可用于绳索类目标的识别模型训练与效果评估。数据集采用Pascal VOC与YOLO双格式标注,包含322张jpg图片,并配套322个VOC格式xml文…

阅读更多 →
OpenCV+DNN图像着色实战:从Lab空间到概率分布的完整解析 2026/9/28 22:53:31

OpenCV+DNN图像着色实战:从Lab空间到概率分布的完整解析

简介:OpenCV与DNN深度学习图像着色项目是一套面向人工智能和计算机视觉初学者的完整示例,重点演示如何借助OpenCV的DNN模块加载Caffe预训练模型,将黑白照片自动恢复为彩色。压缩包共9个文件,约115.61MB,包含C工程文件&…

阅读更多 →
Java销售评价系统课程设计实战:从部署到二次开发 2026/9/28 22:53:31

Java销售评价系统课程设计实战:从部署到二次开发

简介:这是一套面向高校学生的Java销售评价系统完整项目资源,适用于课程设计、毕业设计及Java Web入门到进阶的实战练习。项目围绕商品与服务评价管理展开,涵盖用户、角色、销售、评分等核心模块,帮助读者理解从需求设计到编码落地…

阅读更多 →
OpenCV DNN图像着色实战:从Lab色彩空间到模型推理与调优 2026/9/28 22:53:31

OpenCV DNN图像着色实战:从Lab色彩空间到模型推理与调优

简介:这是一份基于OpenCV与DNN模块实现图像自动着色的深度学习项目资源,适合正在学习计算机视觉、图像处理或深度学习应用的开发者。项目通过C工程与预训练模型,演示了从灰度图像恢复彩色画面的完整流程,可帮助理解卷积神经网络在…

阅读更多 →
CLI-Anything:面向 agent-native 的可编程 CLI 范式 2026/9/28 22:53:25

CLI-Anything:面向 agent-native 的可编程 CLI 范式

1. CLI-Anything 不是又一个命令行工具,而是 CLI 范式的重新定义你有没有试过在终端里输入git commit -m "fix bug",然后突然意识到——这行命令背后,其实藏着三四十行 Python 脚本、五六个环境变量判断、两次 Git 钩子校验、一次预…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉