💻 问题场景
公司内网有超多自建服务:Docker仓库、GitLab、Jenkins…
但K8s的Pod里访问这些服务总得记IP?🤯 手输IP太麻烦还容易错!
👉 你需要:用域名代替IP,优雅解析内网服务!
🛠️ 解决方案:hostAliases
配置
一句话解释:在Pod里直接绑定「域名→IP」,像本地改hosts一样简单!
适用场景:内网测试、跨环境调试、历史遗留系统兼容…
📝 超简版YAML示例
apiVersion: v1
kind: Pod
metadata:
name: my-cool-pod # 你的Pod名字
spec:
containers:
- name: nginx
image: nginx:latest
hostAliases: # 🌈重点在这里!
- ip: "10.10.1.100" # 内网IP1
hostnames:
- "docker.local.io" # 公司Docker仓库
- ip: "10.10.1.101" # 内网IP2
hostnames:
- "gitlab.local.io" # 团队GitLab
- ip: "10.10.1.102" # 内网IP3
hostnames:
- "jenkins.local.io" # 持续集成神器
🚀 操作指南
1️⃣ 复制代码:替换成你的内网IP和域名
2️⃣ kubectl apply -f 配置文件名.yaml
一键部署
3️⃣ 进入Pod验证:
kubectl exec -it my-cool-pod -- curl docker.local.io
# 看看能不能访问到10.10.1.100的服务~
💡 小贴士
✅ 适合场景:临时调试、少量域名
❌ 不适合:大规模域名管理(建议用CoreDNS)
⚠️ 注意:Pod重启后配置依然有效,但删除Pod需重新部署
🎯 实际应用
- 本地开发联调公司中间件
- 快速切换测试/生产环境地址
- 旧系统迁移过渡期兼容
#K8s秘籍 #运维干货 #运维工程师日常
评论区