Kubernetes Pods如何访问外部域名
Pods如何访问外网域名
在Kubernetes环境中,并不是所有服务都适合部署中集群中,如数据库服务,在这种情况下集群中的Pods如何访问集群外的服务,有以下几种方式
CoreDNS方式
新增一段配置,如下范例
- 范例
.:53 { errors health { lameduck 15s } ready kubernetes cluster.local in-addr.arpa ip6.arpa { pods verified ttl 30 fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . /etc/resolv.conf { prefer_udp } cache 30 loop reload loadbalance } internal.local:53 { forward . 192.168.56.247 192.168.44.204 cache 30 }
Endpoints类型的服务
ExternalName类型的服务
- 范例
**> mkdir -p ~/mysql-endpoint > cd ~/mysql-endpoin > cat <<EOF > my-mysql-external.yaml apiVersion: v1 kind: Service metadata: name: my-mysql-external #此名字随便起 namespace: my-first-app #在固定的命名空间下 spec: type: ExternalName externalName: www.baidu.com ##提供方的服务完全限定域名,如rds域名等。 ports: - port: 80 ### ExternalName类型的服务创建后,pod可以通过my-mysql-external.default.svc.cluster.local域名连接到外部服务, #### 或者通过my-mysql-external。当需要指向其他外部服务时,只需要修改spec.externalName的值即可。 EOF
参考文献
分类:
Kubernetes集群管理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-12-03 Nginx超时timeout配置总结