使用命令初始化容器kubectl get pod
用于获取其他 pod 的就绪状态。
开启 Egress NetworkPolicy 后,init container can't access 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 仍然存在问题