Networking Kubernetes网络策略停止所有到Pod的流量
情景:Networking Kubernetes网络策略停止所有到Pod的流量,networking,kubernetes,Networking,Kubernetes,情景: 我有四(4)个pod,Payroll,internal,external,mysql 我希望内部pod只能访问: a。内部>端口8080上的工资单 b。端口3306上的内部>mysql 请提出缺少的部分是什么?我制定了以下网络策略。但我的吊舱无法与“任何”吊舱通信。 因此,它实现了给定的目标,但实际上无法访问其他吊舱。以下是我的网络策略详细信息 master $ k describe netpol/internal-policy Name: internal-poli
- a。内部>端口8080上的工资单
- b。端口3306上的内部>mysql
master $ k describe netpol/internal-policy
Name: internal-policy
Namespace: default
Created on: 2020-02-20 02:15:06 +0000 UTC
Labels: <none>
Annotations: <none>
Spec:
PodSelector: name=internal
Allowing ingress traffic:
<none> (Selected pods are isolated for ingress connectivity)
Allowing egress traffic:
To Port: 8080/TCP
To:
PodSelector: name=payroll
----------
To Port: 3306/TCP
To:
PodSelector: name=mysql
Policy Types: Egress
因此,它实现了既定目标,但实际上无法实现
访问其他播客
如果我理解正确,您已经实现了网络策略中定义的目标,并且您所有的pod
佩戴标签name:internal
目前都能够与payroll
(在端口8080
)和mysql
(在端口3306
)pod进行通信,对吧?
如果我错了,请纠正我,但我发现你的说法有些矛盾。一方面,您希望您的内部
吊舱
只能与非常特定的吊舱进行通信,并使用指定的端口与它们连接:
我希望内部pod只能访问:
a。内部>端口8080上的工资单
b。端口3306上的内部>mysql
另一方面,你似乎对他们无法访问任何其他播客感到惊讶:
因此,它实现了既定目标,但实际上无法实现
访问其他播客
请记住,当您将一些网络策略
规则应用于特定的吊舱
时,同时dafault拒绝所有规则会隐式应用于选定的吊舱
(除非您决定重新配置以使其按您想要的方式工作)
正如你所看到的:
POD通过具有选择它们的网络策略而变得孤立。一旦
名称空间中存在选择特定pod的任何NetworkPolicy,
该pod将拒绝任何用户不允许的任何连接
网络政策。(命名空间中未被选定的其他POD)
任何网络策略都将继续接受所有流量。)
上述规定也适用于出口规则
如果当前您的internal
Pod
只能访问指定端口上的payroll
和mysql
Pod
,则一切正常
如果您有兴趣拒绝向您的工资单
和mysql
豆荚
提供所有其他流量,您应该对那些豆荚
应用入口
规则,而不是在豆荚
上定义与它们通信的出口
,但与此同时,不应剥夺他们与其他播客
交流的能力
如果有帮助,请告诉我。如果有不清楚的地方或我的假设是错误的,也请让我知道,并毫不犹豫地询问其他问题。mysql和payroll上的标签是否正确?负责实施您的网络策略的CNI如何?您正在使用什么解决方案?是的,吊舱的标签正确。是的,某些网络策略插件已经就位,这就是为什么创建此策略后,播客无法通信的原因。我访问KodeCloud.com中的虚拟K8s群集(通过katakoda访问)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: internal-policy
namespace: default
spec:
podSelector:
matchLabels:
name: internal
policyTypes:
- Egress
egress:
- to:
- podSelector:
matchLabels:
name: payroll
ports:
- protocol: TCP
port: 8080
- to:
- podSelector:
matchLabels:
name: mysql
ports:
- protocol: TCP
port: 3306 (edited)