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

参考文献


https://blog.csdn.net/Coder_Boy_/article/details/132125876

posted @   MacoPlus  阅读(388)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2021-12-03 Nginx超时timeout配置总结
点击右上角即可分享
微信分享提示