Я использую управляемый кластер с Google Cloud, поэтому у него есть возможность включить NetworkPolicy
, а в бэкэнде используется ситцевое зеркало. У меня проблема, похоже, что я могу использовать только версию API networking.k8s.io/v1
.
Я пытаюсь создать политику, которая отключит любой внутренний выходной трафик из модуля и разрешит любой вход + выход в / из внешнегоnetwork.
С API Calico это будет выглядеть примерно так:
apiVersion: projectcalico.org/v3
kind: NetworkPolicy
metadata:
name: policy-name
namespace: namespace-name
spec:
selector: label == value
types:
- Ingress
- Egress
ingress:
- action: Allow
notProtocol: UDP
destination:
ports:
- 53
- action: Allow
notProtocol: TCP
destination:
ports:
- 53
egress:
- action: Deny
protocol: UDP
destination:
ports:
- 53
- action: Deny
protocol: TCP
destination:
ports:
- 53
Или отрицательная версия следующей политики:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: policy-name
namespace: namespace-name
spec:
podSelector:
matchLabels:
label: value
policyTypes:
- Egress
egress:
- ports:
- port: 53
protocol: UDP
- port: 53
protocol: TCP
- to:
- namespaceSelector: {}
Итак, у меня есть 2 вопроса:1. возможно ли воспроизвести указанное выше правило с помощью networking.k8s.io/v1
API? 2. Можно ли как-то включить projectcalico.org/v3
API в управляемом кластере GKE?