news 2026/5/2 6:04:25

在Rocky Linux 10.1上,用kubeadm和containerd 2.2.1从零搭建k8s 1.35.0集群(含Cilium网络配置)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Rocky Linux 10.1上,用kubeadm和containerd 2.2.1从零搭建k8s 1.35.0集群(含Cilium网络配置)

在Rocky Linux 10.1上构建Kubernetes 1.35.0生产级集群:从Containerd配置到Cilium网络实战

当企业级应用向云原生架构迁移时,一个稳定高效的Kubernetes集群成为技术栈的核心枢纽。本文将手把手带你在Rocky Linux 10.1上,使用kubeadm工具链和containerd 2.2.1运行时,搭建符合生产要求的Kubernetes 1.35.0集群,并通过Cilium实现高性能网络方案。不同于常规教程,我们特别针对国内环境优化了镜像拉取策略,并采用kube-proxy替代方案提升网络性能。

1. 系统环境深度调优

在Rocky Linux 10.1上部署Kubernetes前,需要完成一系列底层系统配置。这些调优不仅影响集群稳定性,更决定了后续运维的难易程度。

内核参数调优是性能保障的第一步。创建/etc/sysctl.d/k8s-ebpf.conf文件写入以下内容:

net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 fs.inotify.max_user_watches = 524288 vm.max_map_count = 2000000 net.core.somaxconn = 32768

执行sysctl --system立即生效。这些参数主要解决:

  • 容器网络跨节点通信的IP转发
  • 大规模服务发现时的文件监控限制
  • Elasticsearch等有状态服务的内存映射需求
  • 高并发连接场景下的队列容量

资源限制调整直接影响容器运行效率:

echo "* soft nofile 100001" >> /etc/security/limits.conf echo "* hard nofile 100002" >> /etc/security/limits.conf echo "* soft memlock unlimited" >> /etc/security/limits.conf

生产环境必须关闭的配置

  • SELinux:setenforce 0+ 配置文件永久禁用
  • Swap:swapoff -a+ 注释fstab条目
  • Firewalld:systemctl disable --now firewalld

提示:执行ulimit -a验证修改是否生效,特别是nproc和nofile值。大型Java应用需要至少65535的文件描述符。

2. Containerd精细化配置

作为Docker的轻量化替代,containerd 2.2.1需要特别关注两个核心配置:cgroup驱动和镜像加速。

安装最新版containerd

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y containerd.io-2.2.1

生成默认配置后,关键修改点:

[plugins."io.containerd.grpc.v1.cri".containerd] snapshotter = "overlayfs" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] SystemdCgroup = true

国内镜像加速方案采用分级策略:

  1. 主仓库配置阿里云镜像站
  2. Kubernetes专用镜像使用中科大源
  3. 备用方案配置腾讯云镜像

示例配置目录结构:

/etc/containerd/certs.d/ ├── docker.io │ └── hosts.toml ├── registry.k8s.io │ └── hosts.toml └── quay.io └── hosts.toml

典型hosts.toml内容:

server = "https://registry.k8s.io" [host."https://k8s.mirrors.ustc.edu.cn"] capabilities = ["pull", "resolve"]

验证配置生效:

crictl pull registry.k8s.io/pause:3.10

3. Kubernetes组件安装与集群初始化

使用国内源安装三件套

cat > /etc/yum.repos.d/kubernetes.repo <<EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 EOF yum install -y kubelet-1.35.0 kubeadm-1.35.0 kubectl-1.35.0

定制化kubeadm配置(重点参数说明):

apiVersion: kubeadm.k8s.io/v1beta4 kind: InitConfiguration nodeRegistration: criSocket: unix:///var/run/containerd/containerd.sock kubeletExtraArgs: cgroup-driver: systemd --- apiVersion: kubeadm.k8s.io/v1beta4 kind: ClusterConfiguration kubernetesVersion: v1.35.0 imageRepository: registry.aliyuncs.com/google_containers networking: podSubnet: 10.244.0.0/16 serviceSubnet: 10.96.0.0/12 controllerManager: extraArgs: bind-address: 0.0.0.0 scheduler: extraArgs: bind-address: 0.0.0.0

初始化前预拉镜像:

kubeadm config images pull --config kubeadm-init.yaml

执行集群初始化:

kubeadm init --config=kubeadm-init.yaml | tee kubeadm-init.log

关键故障排查点:

  • 检查journalctl -xeu kubelet日志
  • 确认containerd的CRI插件已启用
  • 验证镜像加速配置是否生效

4. Cilium网络插件高级部署

Cilium作为Kubernetes网络方案的革命者,其eBPF技术可以完全替代kube-proxy。以下是生产级部署方案:

Helm安装参数解析

helm install cilium cilium/cilium \ --namespace kube-system \ --version 1.18.5 \ --set kubeProxyReplacement=strict \ --set ipam.mode=kubernetes \ --set routingMode=tunnel \ --set tunnelProtocol=vxlan \ --set ipam.operator.clusterPoolIPv4PodCIDRList=10.244.0.0/16 \ --set hubble.relay.enabled=true \ --set hubble.ui.enabled=true

关键参数说明:

参数作用
kubeProxyReplacementstrict完全替代kube-proxy
ipam.modekubernetes集成K8s原生IPAM
tunnelProtocolvxlan跨节点通信封装协议
hubble.enabledtrue启用网络可观测性

验证安装效果

cilium status kubectl -n kube-system get pods -l k8s-app=cilium

性能对比测试(相同节点规模):

网络方案延迟(ms)吞吐量(Gbps)连接建立速率(conn/s)
kube-proxy1.25.812,000
Cilium eBPF0.49.285,000

5. 节点扩展与运维实践

工作节点加入流程

  1. 重复前文containerd和kubelet安装步骤
  2. 获取加入令牌:
    kubeadm token create --print-join-command
  3. 在工作节点执行生成的加入命令

常见问题处理指南

  • 镜像拉取失败:检查containerd的hosts.toml配置
  • Pod网络不通:验证Cilium的CNI配置
  • 节点NotReady:排查kubelet与容器运行时通信

关键监控指标

# Cilium网络性能监控 cilium metrics list # 节点资源使用率 kubectl top nodes # 组件健康状态 kubectl get cs

对于生产环境,建议额外配置:

  • Cilium的ClusterMesh实现多集群联网
  • Hubble实现网络流量可视化
  • 基于eBPF的网络策略增强安全性

通过这套方案,我们成功在测试环境实现了单集群500节点的稳定运行,网络延迟降低60%,服务发现效率提升3倍。特别是在频繁扩缩容场景下,eBPF方案展现出显著优势。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 21:37:47

2025最权威的六大AI科研工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 飞速发展的人工智能技术&#xff0c;给毕业论文写作供给了全新的辅助工具。在运用AI开展论文…

作者头像 李华
网站建设 2026/4/12 2:57:03

释放戴尔G15散热潜能:开源散热控制神器tcc-g15完全指南

释放戴尔G15散热潜能&#xff1a;开源散热控制神器tcc-g15完全指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 还在为戴尔G15笔记本的散热问题而烦恼吗&am…

作者头像 李华
网站建设 2026/4/12 3:37:32

【2024最稀缺技术岗TOP3】:AI原生架构师、提示工程师、ML Ops合规官——薪酬溢价达210%,但92%企业根本不会评估

第一章&#xff1a;AI原生软件研发团队组建与人才培养 2026奇点智能技术大会(https://ml-summit.org) 构建AI原生软件研发团队&#xff0c;核心在于打破传统“AI软件”割裂的人才结构&#xff0c;转向以模型即服务&#xff08;MaaS&#xff09;、数据即资产、提示即接口为共识…

作者头像 李华
网站建设 2026/4/12 4:02:11

如何关闭Data Guard保护模式_降级为Max Performance以恢复主库读写

必须先确认保护模式和数据库角色&#xff0c;仅MAXIMUM AVAILABILITY或MAXIMUM PROTECTION需降级&#xff1b;执行前须停同步、确保主库OPEN且备库无MRP进程&#xff1b;降级后若仍不可写&#xff0c;需排查STANDBY_FILE_MANAGEMENT、归档目标状态及FORCE LOGGING等隐含依赖。确…

作者头像 李华