说个可能得罪人的话:Sealos 私有化部署,真没大家吹得那么"开箱即用"。
我最近帮几个客户做离线环境部署,踩的坑比预想的多。今天不聊成功案例,专门聊聊那些"官方文档不会告诉你"的风险点。
离线镜像同步是个无底洞
网上教程都说"sealos pull 一下就行"。现实是,你得在一台能联网的机器上先把所有镜像拉下来,打包,再想办法搬到离线环境。
问题来了:镜像依赖链比你想象的长。
你以为拉了 kubernetes 就够了?ingress-nginx、coredns、metrics-server、各种 CRD operator……漏一个,集群就跑不起来。我有次部署,光补镜像就来回搬了三趟 U 盘。
版本兼容是隐形炸弹
Sealos 更新很快,这本来是好事。但在离线环境,这成了风险。
你三个月前打的离线包,今天拿出来用,可能发现:
内核版本不匹配
containerd 版本有 breaking change
某个组件的 API 已经废弃
建议:离线包打完,立刻在测试环境跑一遍。别等到现场才发现问题。
DNS 和证书问题被严重低估
内网环境没有公网 DNS,这意味着:
你得自己搭 CoreDNS 并维护解析记录
自签证书的信任链要手动配置到每个节点
如果用了 DevBox 这类功能,域名解析会更复杂
我见过最离谱的 case:客户内网有自己的 DNS,和 K8s 的 CoreDNS 打架,Pod 里解析外部域名正常,解析 Service 就挂。排查了两天。
我的真实建议
别急着上生产,先在完全隔离的测试环境把坑趟一遍
镜像清单要穷举,用
sealos images导出完整列表,一个都不能少文档要自己写,官方文档是给联网环境的,离线环境的特殊配置你得自己记录
Sealos 本身是个好东西,K8s 部署确实被简化了很多。但"简化"不等于"无脑"。离线环境的复杂度,不会因为工具好用就消失。
工具再好,也得看谁用、怎么用。