Como expor o serviço kube-dns para consultas fora do cluster?

Estou tentando expor o serviço "kube-dns" para estar disponível para ser consultado fora do cluster Kubernetes. Para fazer isso, editei a definição "Serviço" para alterar o "tipo" de "ClusterIP" para "NodePort", que parecia funcionar bem.

No entanto, quando tento consultar a porta do nó, consigo obter uma sessão TCP (testando com Telnet), mas não consigo obter nenhuma resposta do servidor DNS (testando com dig).

Eu dei uma olhada nos logs em cada um dos contêineres no pod "kube-dns", mas não consigo ver nada de ruim. Além disso, consultar o DNS de dentro do cluster (de um contêiner em execução) parece funcionar sem problemas.

Alguém já tentou expor o serviço kube-dns antes? Em caso afirmativo, existem etapas adicionais de configuração ou você tem algum conselho de depuração para mim?

A definição de serviço é a seguinte:

$ kubectl get service kube-dns -o yaml --namespace kube-system
apiVersion: v1
kind: Service
metadata:
...
spec:
  clusterIP: 10.0.0.10
  ports:
  - name: dns
    nodePort: 31257
    port: 53
    protocol: UDP
    targetPort: 53
  - name: dns-tcp
    nodePort: 31605
    port: 53
    protocol: TCP
    targetPort: 53
  selector:
    k8s-app: kube-dns
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}

questionAnswers(1)

yourAnswerToTheQuestion