K8s Network Policy配置endPort出口端口范围不生效问题咨询
Kubernetes Network Policy 端口范围规则不生效排查方案
你的配置语法符合Kubernetes API规范,不存在语法错误,出现该问题通常由以下几个原因导致:
- 集群版本不满足要求
endPort特性在Kubernetes v1.21版本才正式进入稳定阶段,v1.18至v1.20版本中属于Alpha特性,默认处于关闭状态。如果集群版本低于v1.21,需要先在kube-apiserver开启EndPort特性门才能生效,否则该字段会被直接忽略,仅识别单个port字段的值生效。 - 网络组件不支持该特性
只有使用iptables或IPVS模式的kube-proxy支持endPort规则,userspace模式不支持;同时你使用的容器网络插件(CNI)也需要适配endPort特性,主流插件如Calico v3.20+、Cilium v1.10+均已支持该特性,低版本插件也会出现字段被忽略的问题。 - kubectl 工具显示异常
部分低版本kubectl的describe命令不会渲染endPort字段的内容,你可以执行kubectl get networkpolicy <你的策略名称> -o yaml查看集群实际存储的策略配置,如果yaml中存在endPort字段,说明配置已经成功写入集群,仅为kubectl显示问题,可以实际测试端口连通性确认规则是否生效。
内容的提问来源于stack exchange,提问作者duy nguyễn
相关产品推荐
相关产品推荐

