讲师中心 微信公众号
AI工具推荐 视频效率加速

基于Kubeadm安装Kubernetes时自定义IP范围的方法

秋涛姑娘_1691

秋涛姑娘_1691

发布时间:2026-08-26 07:33:49

|

643人浏览过

|

来源于php中文网

原创

kubeadm init不能仅靠--pod-network-cidr指定网段,必须通过配置文件显式定义networking.podSubnet和serviceSubnet,且需与所选CNI插件(如Calico、Flannel)的配置严格一致,否则导致网络插件初始化失败或集群异常。

基于kubeadm安装kubernetes时自定义ip范围的方法

不能直接在 kubeadm init 命令行里指定 Pod 或 Service 网段,必须通过配置文件传入 podSubnet 和 serviceSubnet —— 否则默认用 10.96.0.0/12(Service)和 10.244.0.0/16(Flannel 默认),但这两个值不通用,且与 Calico、Cilium 等 CNI 插件的期望常有冲突。

networking 字段必须显式写进 ClusterConfiguration

很多人误以为加个 --pod-network-cidr 参数就够了,其实从 kubeadm v1.19+ 开始,该参数仅用于向 kube-controller-manager 透传,**不会影响 etcd 中存储的集群网络配置**,也不被 CNI 插件读取。真正起效的是配置文件中 networking 下的字段:

  • podSubnet:供 CNI 插件(如 Calico、Flannel)初始化时对齐 IPAM,必须和你后续部署的 CNI 配置一致
  • serviceSubnet:决定 ClusterIP 分配范围,修改后会影响所有 Service 的 VIP 地址空间
  • dnsDomain:通常保持 cluster.local,改了需同步更新 CoreDNS ConfigMap

示例片段(kubeadm-config.yaml):

networking:
  podSubnet: 172.16.0.0/12
  serviceSubnet: 10.103.0.0/16
  dnsDomain: cluster.local

注意:podSubnet 值必须和你选用的 CNI 插件 YAML 中的 cidr 或 ipam.subnet 完全一致,否则节点上 calico-node 或 flanneld 启动失败,报错类似 failed to configure default pool: invalid CIDR。

不同 CNI 对 podSubnet 的解析逻辑差异很大

不是所有 CNI 都无条件信任 kubeadm 配置里的 podSubnet,它们加载方式不同:

Kubernetes Network Policy Generator
Kubernetes Network Policy Generator

使用加权评分卡在12项标准上评估和比较隐私解决方案供应商。适用于选择隐私管理软件、比较数据保护方案等场景。

下载
  • Flannel:只认自己 YAML 里的 net-conf.json 中的 Network 字段,kubeadm 的 podSubnet 仅作校验,不覆盖
  • Calico:会读取 kubeadm 配置生成 installation CR,自动注入 spec.calicoNetwork.ipPools[0].cidr,前提是使用官方 manifest(如 tigera-operator)
  • Cilium:完全忽略 kubeadm 的 podSubnet,必须在 Helm values 或 CiliumClusterwideNetworkPolicy 中显式设 ipam.mode=cluster-pool + clusterPoolIPv4CIDR

所以别指望写一次 podSubnet 就全局生效。部署前务必查清你选的 CNI 文档里“如何指定 Pod 网段”那一节,再反推 kubeadm 配置要不要写、怎么写。

kubeadm init 失败后改 subnet 不能只改配置文件

如果 kubeadm init 已执行过但失败(比如因网段冲突卡在 etcd 启动),不能简单改完配置重跑 —— 因为 /etc/kubernetes/manifests/etcd.yaml 里已经固化了初始 --advertise-client-urls 和数据目录,且 etcd 数据库中存有旧的 network config。

  • 必须先运行 kubeadm reset -f 清理残留(包括 /var/lib/etcd)
  • 确认 swapoff -a、iptables -P FORWARD ACCEPT 等前置项仍有效(重置后可能恢复)
  • 若之前手动改过 /etc/cni/net.d/ 下的配置,要一并删掉,否则 CNI 初始化时会跳过自动生成逻辑

常见症状:节点 Ready 但 kubectl get nodes 显示 NotReady,kubectl describe node 报 NetworkPluginNotReady: cni plugin not initialized,大概率是 CNI 配置和 kubeadm 声明的网段对不上,或 etcd 里残留旧状态。

最易被忽略的一点:kubeadm 不验证 podSubnet 和 serviceSubnet 是否重叠。如果你填了 podSubnet: 10.0.0.0/8 和 serviceSubnet: 10.96.0.0/12,它们实际包含关系,Kubernetes 不报错,但 CoreDNS、kube-proxy 的 iptables 规则会混乱,导致 DNS 解析失败或 ClusterIP 访问异常。务必人工校验两个 CIDR 无交集。

热门AI工具

更多
Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

116

2025.12.22

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

168

2026.06.29

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

100

2026.09.30

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

100

2026.09.30

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

80

2026.09.30

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

60

2026.09.30

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

80

2026.09.29

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

280

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

180

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kubernetes官方教程手册
Kubernetes官方教程手册

共0课时 | 0人学习

Kubernetes官方中文文档
Kubernetes官方中文文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn