【发布时间】:2021-05-18 20:09:13
【问题描述】:
我有两种类型的 pod A 和 B
Pod 类型 A
apiVersion: v1
kind: Pod
metadata:
name: A
labels:
environment: production
spec:
...
Pod 类型 B
apiVersion: v1
kind: Pod
metadata:
name: B
labels:
environment: production
spec:
...
还有一个 NetworkPolicy(还是不知道使用 podselection 的正确方法)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-all
spec:
podSelector: {"A", "B"}
policyTypes:
- Ingress
- Egress
问题:如何在 Kubernetes 中使用“NetworkPolicy”定义单个 NetworkPolicy 以将流量限制为仅 A 和 B pod(入口和出口)
使用的参考资料:https://kubernetes.io/docs/concepts/services-networking/network-policies/
【问题讨论】:
-
如果你想使用
name,那么你可能想改用matchExpressions -
我不熟悉“matchExpression”。这将在清单的哪个部分?
-
相同部分(spec.podSelector.matchExpressions),这里是an example in the documentation
-
看API参考就可以看到:kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/…(这个取决于你的k8s版本,这个链接是针对v1.20的)
-
感谢您为我指明正确的方向
标签: kubernetes kubernetes-pod kubernetes-networkpolicy