我能够应用成功允许所有出口和入口流量的 NetworkPolicy:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-app
namespace: test-namespace
spec:
podSelector:
matchLabels:
app: test-app
policyTypes:
- Egress
- Ingress
egress:
- {}
ingress:
- {}
当我应用以下 NetworkPolicy 时,我无法让 Pod 将公共网站的 HTML 返回给我:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-app
namespace: test-namespace
spec:
podSelector:
matchLabels:
app: test-app
policyTypes:
- Egress
- Ingress
egress:
- to:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: kube-system
podSelector:
matchLabels:
k8s-app: kube-dns
ports:
- port: 53
protocol: UDP
- port: 53
protocol: TCP
- to:
- ipBlock:
cidr: 0.0.0.0/0
- ipBlock:
cidr: ::/0
ports:
- protocol: TCP
port: 80
- protocol: TCP
port: 443
ingress:
- {}
最终我想做的是允许 Pod 联系任何公共互联网网站,但阻止它访问我们专用网络上的任何内容。这里列出的第二个 NetworkPolicy 只是我尝试在第一个允许所有策略之外引入一个规则。
尝试通过覆盖 URLS 的端口和 https 来监听本地服务。在您的 KubernetesLocalProcessConfig.yaml 文件中,以下是示例
- name: URLS
value: https://localhost:5001
您可能还想参考本文档作为配置 Kubernetes 桥
的指南