Google Cloud でマネージド クラスタを実行しているため、有効にするオプションがNetworkPolicy
あり、バックエンドでは calico を使用します。私が抱えている問題は、 api version しか使用できないようnetworking.k8s.io/v1
です。
ポッドからの内部出力トラフィックを無効にし、外部ネットワークへの/からの入力と出力を許可するポリシーを作成しようとしています。
calico API を使用すると、次のようになります。
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
マネージド GKE クラスタで API を有効にすることはできますか?