我想允许从 gke 集群上运行的 pod 到另一个集群(vpc 本机)的流量。是否可以使用节点标签来做到这一点?我尝试了一下,似乎不起作用。它仅适用于源范围。有人可以确认情况是这样吗?还是我漏掉了什么?
我创建了两个集群 (1.12.8-gke.10),一个标记有路由测试,另一个标记有central-cluster。
在防火墙规则中使用源标签不起作用,而使用源范围则有效。
例如我有
gcloud container clusters create routing-test-1 --zone us-east1-d \
--no-enable-legacy-authorization --no-enable-basic-auth \
--tags routing-test --num-nodes 1
gcloud container clusters create routing-central --region us-east1 \
--no-enable-legacy-authorization --enable-ip-alias --no-enable-basic-auth \
--tags central-cluster --num-nodes 1
这有效:
gcloud compute --project=cicd-clusters firewall-rules create allow-traffic-test-1 \
--direction=INGRESS --priority=1000 --network=default --action=ALLOW \
--rules=tcp:80 --source-ranges=10.16.0.0/14 --target-tags=central-cluster
虽然这行不通:
gcloud compute --project=cicd-clusters firewall-rules create allow-traffic-test-2 \
--direction=INGRESS --priority=1000 --network=default --action=ALLOW \
--rules=tcp:80 --source-tags=routing-test --target-tags=central-cluster
不。我试过了:/
Pod 流量将从 GKE 节点池的
pod_ipv4_cidr_block
IP 范围中产生,这意味着它不会被视为来自 GKE 节点(虚拟机实例)。这是因为 GKE 中的IP Alias范围让流量来自虚拟机实例,而不是来自其主网络接口,以便每个 Pod 都可以在 VPC 网络上拥有一个 IP。
您可以根据该节点池 CIDR 范围制定路由/FW 规则。 :)