首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >k8s网络策略阻止DNS

k8s网络策略阻止DNS
EN

Stack Overflow用户
提问于 2021-10-13 16:29:42
回答 1查看 37关注 0票数 0

我正在尝试使用网络策略为我的pod启用DNS。我正在使用https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/

当DNS正常工作时:

代码语言:javascript
复制
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

使用网络策略

代码语言:javascript
复制
/ # nslookup kubernetes.default
;; connection timed out; no servers could be reached

我试着用

代码语言:javascript
复制
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

代码语言:javascript
复制
egress:
  - to:
    - namespaceSelector:{}
      podSelector: {}
    ports:
    - protocol: UDP
      port: 53
    - protocol: TCP
      port: 53

代码语言:javascript
复制
egress:
  - ports:
    - protocol: UDP
      port: 53
    - protocol: TCP
      port: 53

它们都不起作用。我尝试过的唯一有效的方法是:

代码语言:javascript
复制
egress:
  - to:
    - namespaceSelector:{}
      podSelector: {}

但它打开了所有的出口。

我在本地的k8s (纤毛迷你)中尝试了这些组合。它们都能按预期工作,但不能在生产环境中工作(带印花布的亚马逊网络服务k8s 1.20 )。我总是有DNS的问题。从tcpdump中,我确信DNS正在使用端口53和UDP。

我没办法了,请帮帮忙~

EN

回答 1

Stack Overflow用户

发布于 2021-10-14 11:32:20

该端口被dns服务覆盖到8053。tcpdumper程序在pod内部运行,因此它不知道自己被重新路由。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69559094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档