我已使用以下命令创建了GKE集群:
gcloud beta container clusters create "cluster-asia-south1" \
--region "asia-south1" \
--project "project123" \
--cluster-version "1.14.8-gke.12" \
--machine-type "n1-standard-1" \
--image-type "COS" --disk-type "pd-standard" --disk-size "100" \
--scopes "https://www.googleapis.com/auth/cloud-platform" \
--num-nodes "1" \
--no-enable-basic-auth \
--metadata disable-legacy-endpoints=true \
--max-pods-per-node "110" --enable-stackdriver-kubernetes \
--enable-ip-alias \
--network "projects/project123/global/networks/default" \
--subnetwork "projects/project123/regions/asia-south1/subnetworks/default" \
--default-max-pods-per-node "110" \
--addons HorizontalPodAutoscaling,HttpLoadBalancing \
--no-enable-autoupgrade \
--no-enable-autorepair \
--node-locations asia-south1-a,asia-south1-b
我知道可以从asia-south1
区域(例如gcp-vm-asia-south1-a
)内的VM访问此群集。
因此,我在此VM(gcp-vm-asia-south1-a
)中安装了OpenVPN服务器。现在,当我从本地系统连接到此VM时,我可以访问群集主端点,并且以下命令可以正常运行:
gcloud container clusters get-credentials "cluster-asia-south1" --region "asia-south1"
然后kuebctl get pods
正常工作,我也可以通过Helm连接。
[假设我在同一VPC中但在不同的区域(例如cluster-us-central1
和cluster-us-west1
)中又有两个群集。如何使用同一台OpenVPN服务器访问这些群集?
[我了解,如果我在每个区域设置一台OpenVPN服务器,我将能够连接到相应的VPN服务器,并且可以毫无问题地访问该区域的GKE群集。
但是我不想在每个区域中管理三台OpenVPN服务器。管理堡垒时,可以加热几个iptables
或forwarding rules
或类似的东西。
想法是,无论有多少个区域,都为一台VPC保留一台OpenVPN服务器。这是否可行,有什么办法吗?
我尝试在--master-authorized-networks
中添加VM,子网和客户端的私有IP范围,但是没有任何效果(我认为是因为它们都来自不同的区域。
您是否曾提到--enable-master-authorized-networks
是否与--master-authorized-networks
一起使用in the documentation标志?您是否通过命令masterAuthorizedNetworksConfig:
检查了gcloud container clusters describe [CLUSTER_NAME]
?
您是否有任何防火墙规则可能会限制从另一个集群访问您的集群?