kube-dns 无法解析缺少端点的外部 URL

kube-dns 无法解析缺少端点的外部 URL

我试图找出为什么我的 kube-dns 无法解析外部 URL,它似乎是由缺少端点引起的,如下所述:

(我正在使用 Google Kubernetes 引擎,并且使用 Google Cloud 控制台创建集群。)

https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/(DNS 端点是否暴露部分)

我可以看到端点没有暴露,这可能是导致我出现问题的原因。

但是,这里的文档不是很清楚:

如果您没有看到端点,请参阅调试服务文档中的端点部分。

我尝试研究它,但不确定以下内容:

  1. 为什么endpoints不自动创建?我们kube-dns在不同的集群中工作,endpoints默认情况下它们就存在于那里。
  2. 我是否需要手动添加或者是否可以用这些endpoints重新创建整个服务?kube-dnsendpoints
  3. 手动添加时,如何选择正确的IP地址?
  4. 我需要告诉其他 kubernetes 服务使用这些吗endpoints

这是服务定义:

apiVersion: v1
kind: Service
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"addonmanager.kubernetes.io/mode":"Reconcile","k8s-app":"kube-dns","kubernetes.io/cluster-service":"true","kubernetes.io/name":"KubeDNS"},"name":"kube-dns","namespace":"kube-system"},"spec":{"clusterIP":"10.87.0.10","ports":[{"name":"dns","port":53,"protocol":"UDP"},{"name":"dns-tcp","port":53,"protocol":"TCP"}],"selector":{"k8s-app":"kube-dns"}}}
  creationTimestamp: "2019-09-16T13:49:57Z"
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
    k8s-app: kube-dns
    kubernetes.io/cluster-service: "true"
    kubernetes.io/name: KubeDNS
  name: kube-dns
  namespace: kube-system
  resourceVersion: "468357079"
  uid: deea9ec5-d888-11e9-9024-42010a840025
spec:
  clusterIP: 10.87.0.10
  clusterIPs:
  - 10.87.0.10
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: dns
    port: 53
    protocol: UDP
    targetPort: 53
  - name: dns-tcp
    port: 53
    protocol: TCP
    targetPort: 53
  selector:
    k8s-app: kube-dns
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

相关内容