我已经添加了此NetworkPolicy来阻止所有出口,但允许DNS。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-all-egress
namespace: {{ $namespace }}
spec:
podSelector: {}
egress:
- to:
- namespaceSelector:
matchLabels:
networking/namespace: kube-system
podSelector:
matchLabels:
k8s-app: kube-dns
ports:
- protocol: TCP
port: 53
- protocol: UDP
port: 53
policyTypes:
- Egress但是,我在应用此规则的服务中收到此错误:Could not lookup srv records on _origintunneld._tcp.argotunnel.com: lookup _origintunneld._tcp.argotunnel.com on 10.2.0.10:53: read udp 10.32.1.179:40784->10.2.0.10:53: i/o timeout
此IP (10.2.0.10)属于kube-dns服务,该服务有一个pod,标签为k8s-app=kube-dns,位于kube-system命名空间中,标签为networking/namespace=kube-system。
如果我删除pod选择器和名称空间选择器,则出口策略有效,并且不会收到错误
这是有效的,但并不安全,因为它不限于kube-dns pod:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-all-egress
namespace: {{ $namespace }}
spec:
podSelector: {}
egress:
- to:
ports:
- protocol: TCP
port: 53
- protocol: UDP
port: 53
policyTypes:
- Egresskube-系统命名空间yaml:kubectl get namespace kube-system -o yaml
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: "2020-07-30T22:08:25Z"
labels:
networking/namespace: kube-system
name: kube-system
resourceVersion: "4084751"
selfLink: /api/v1/namespaces/kube-system
uid: b93e68b0-7899-4f39-a3b8-e0e12e4008ee
spec:
finalizers:
- kubernetes
status:
phase: Active发布于 2021-01-15 21:55:26
当前策略不明确允许流量到Kubernetes DNS。因此,除非其他规则允许,否则将丢弃来自{{ $namespace }}中pods的DNS查询。
创建k8s DNS的允许出口规则应该可以解决您的问题。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-all-egress
namespace: {{ $namespace }}
spec:
podSelector: {}
policyTypes:
- Egress
egress:
- to:
- namespaceSelector:
matchLabels:
networking/namespace: kube-system
podSelector:
matchLabels:
k8s-app: kube-dns
ports:
- port: 53
protocol: TCP
- port: 53
protocol: UDP
- to:
- namespaceSelector: {}
podSelector:
matchLabels:
k8s-app: kube-dns
ports:
- port: 53
protocol: UDP发布于 2021-02-09 23:27:42
我也遇到过同样的问题。对我来说,这是因为我的集群上启用了NodeLocal DNSCache。
https://stackoverflow.com/questions/65637283
复制相似问题