gpt4 book ai didi

kubernetes - 如何使用导出网络策略允许访问 kubernetes api?

转载 作者:行者123 更新时间:2023-12-04 01:13:16 24 4
gpt4 key购买 nike

使用 kubectl get pod 初始化容器命令用于获取其他 pod 的就绪状态。

开启 Egress NetworkPolicy 后,init 容器无法访问 Kubernetes API:Unable to connect to the server: dial tcp 10.96.0.1:443: i/o timeout . CNI 是印花布。

尝试了几个规则,但没有一个有效(服务和主主机 IP,不同的 CIDR 掩码):

...
egress:
- to:
- ipBlock:
cidr: 10.96.0.1/32
ports:
- protocol: TCP
port: 443
...

或使用命名空间(默认和 kube-system 命名空间):
...
egress:
- to:
- namespaceSelector:
matchLabels:
name: default
ports:
- protocol: TCP
port: 443
...

看起来像 ipBlock规则不起作用,命名空间规则不起作用,因为 kubernetes api 是非标准 pod。

可以配置吗? Kubernetes 是 1.9.5,Calico 是 3.1.1。

GKE 1.13.7-gke.8 和 calico 3.2.7 仍然存在问题

最佳答案

更新 : 试试Dave McNeill's answer第一的。
如果它对您不起作用(对我有用!),以下可能是一种解决方法:

  podSelector:
matchLabels:
white: listed
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
这将允许访问 API 服务器 - 以及互联网上的所有其他 IP 地址:-/
您可以将其与 DENY all non-whitelisted traffic from a namespace 结合使用拒绝所有其他 pod 的导出的规则。

关于kubernetes - 如何使用导出网络策略允许访问 kubernetes api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50102943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com