【问题标题】:Get the domain name of a kubernetes service获取一个kubernetes服务的域名
【发布时间】:2022-12-18 08:40:07
【问题描述】:

我已经创建了一个 cluserIP 服务(我在 Google Kubernetes GKE 中),我需要知道 DNS 才能在另一个 pod 中使用它,这是命令的结果:kubectl describe service book-service -n library

结果 :

Name:              book-service
Namespace:         library
Labels:            app=book-app
Annotations:       cloud.google.com/neg: {"ingress":true}
Selector:          app=book-app
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                10.116.9.139
IPs:               10.116.9.139
Port:              http  7002/TCP
TargetPort:        7002/TCP
Endpoints:         10.112.4.32:7002
Session Affinity:  None
Events:            <none>

所以我的服务地址(用于其他 pod)将是:

book-service.library.svc.cluster.local

或者

book-service.library.svc.cluster.local:7002

我也没有看到为什么有 2 个 IP 地址:10.116.9.139 和端点 10.112.4.32?

【问题讨论】:

    标签: kubernetes service dns google-kubernetes-engine kubernetes-pod


    【解决方案1】:

    Kubernetes 为服务和 Pod 创建 DNS 记录。您可以使用一致的 DNS 名称而不是 IP 地址联系服务。

    Kubernetes 发布有关用于对 DNS 进行编程的 Pod 和服务的信息。 Kubelet 配置 Pod 的 DNS,以便运行的容器可以通过名称而不是 IP 查找服务。

    集群中定义的服务被分配了 DNS 名称。默认情况下,客户端 Pod 的 DNS 搜索列表包括 Pod 自己的命名空间和集群的默认域。

    服务命名空间

    【讨论】:

    • 您好,我已经提出了 2 个选项,我需要准确了解我的价值观
    猜你喜欢
    • 2011-11-04
    • 2017-06-30
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多