我正在尝试公开"kube-dns"服务,以便在Kubernetes集群之外进行查询.为了做到这一点,我编辑了"服务"定义,将"类型"从"ClusterIP"更改为"NodePort",这似乎工作正常.
但是,当我尝试在节点端口上查询时,我能够获得TCP会话(使用Telnet进行测试),但似乎无法从DNS服务器获得任何响应(使用dig进行测试).
我已经查看了"kube-dns"Pod上每个容器上的日志,但是看不到任何不合适的东西.此外,从群集内(从正在运行的容器)查询DNS似乎没有任何问题.
有没有人试图揭露kube-dns服务?如果是这样,是否有任何其他设置步骤或者您有任何调试建议吗?
服务定义如下:
$ 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: {}
Run Code Online (Sandbox Code Playgroud)