How to expose kube-dns service for queries outside cluster?

后端 未结 1 1985
忘了有多久
忘了有多久 2020-12-17 15:34

I\'m trying to expose the \"kube-dns\" service to be available to be queried outside of the Kubernetes cluster. In order to do this I edited the \"Service\" definition to ch

相关标签:
1条回答
  • 2020-12-17 15:58

    Are you querying on the tcp port or the udp port?

    I changed my kube-dns to be a NodePort service:

    $ kubectl describe services kube-dns --namespace kube-system
    Name:           kube-dns
    Namespace:      kube-system
    Labels:         k8s-app=kube-dns
                kubernetes.io/cluster-service=true
                kubernetes.io/name=KubeDNS
    Selector:       k8s-app=kube-dns
    Type:           NodePort
    IP:         10.171.240.10
    Port:           dns 53/UDP
    NodePort:       dns 30100/UDP
    Endpoints:      10.168.0.6:53
    Port:           dns-tcp 53/TCP
    NodePort:       dns-tcp 30490/TCP
    Endpoints:      10.168.0.6:53
    Session Affinity:   None
    

    and then queried on the udp port from outside of the cluster and everything appeared to work:

    $ dig -p 30100 @10.240.0.4 kubernetes.default.svc.cluster.local
    
    ; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> -p 30100 @10.240.0.4 kubernetes.default.svc.cluster.local
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45472
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;kubernetes.default.svc.cluster.local. IN A
    
    ;; ANSWER SECTION:
    kubernetes.default.svc.cluster.local. 30 IN A   10.171.240.1
    
    ;; Query time: 3 msec
    ;; SERVER: 10.240.0.4#30100(10.240.0.4)
    ;; WHEN: Thu May 26 18:27:32 UTC 2016
    ;; MSG SIZE  rcvd: 70
    

    Right now, Kubernetes does not allow NodePort services to share the same port for tcp & udp (see Issue #20092). That makes this a little funky for something like DNS.

    EDIT: The bug was fixed in Kubernetes 1.3.

    0 讨论(0)
提交回复
热议问题