我正在尝试使用网络策略为我的pod启用DNS。我正在使用https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/
当DNS正常工作时:
nslookup kubernetes.default
Server: 100.64.0.10
Address: 100.64.0.10#53
Name: kubernetes.default.svc.cluster.local
Address: 100.64.0.1使用网络策略
/ # nslookup kubernetes.default
;; connection timed out; no servers could be reached我试着用
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: my_name
namespace: my_namespace
spec:
podSelector:
matchLabels: {}
policyTypes:
- Egress
egress:
- to:
- namespaceSelector:
matchLabels:
name: kube-system
ports:
- protocol: UDP
port: 53
- protocol: TCP
port: 53或
egress:
- to:
- namespaceSelector:{}
podSelector: {}
ports:
- protocol: UDP
port: 53
- protocol: TCP
port: 53或
egress:
- ports:
- protocol: UDP
port: 53
- protocol: TCP
port: 53它们都不起作用。我尝试过的唯一有效的方法是:
egress:
- to:
- namespaceSelector:{}
podSelector: {}但它打开了所有的出口。
我在本地的k8s (纤毛迷你)中尝试了这些组合。它们都能按预期工作,但不能在生产环境中工作(带印花布的亚马逊网络服务k8s 1.20 )。我总是有DNS的问题。从tcpdump中,我确信DNS正在使用端口53和UDP。
我没办法了,请帮帮忙~
发布于 2021-10-14 11:32:20
该端口被dns服务覆盖到8053。tcpdumper程序在pod内部运行,因此它不知道自己被重新路由。
https://stackoverflow.com/questions/69559094
复制相似问题