我在谷歌云 (GKE) 上运行 k8s 集群,MySQL 服务器在亚马逊云 (RDS) 上。Pod 需要连接到只允许来自特定 IP 的 RDS,如何配置出站流量以具有静态 IP?
我在谷歌云 (GKE) 上运行 k8s 集群,MySQL 服务器在亚马逊云 (RDS) 上。Pod 需要连接到只允许来自特定 IP 的 RDS,如何配置出站流量以具有静态 IP?
我遇到了同样的问题,无法从Pod连接到SFTP服务器。 要解决这个问题,首先需要创建一个外部IP地址:
gcloud compute addresses create {{ EXT_ADDRESS_NAME }} --region {{ REGION }}
那么,我假设您的Pod被分配给了默认节点池。 提取您的默认节点池节点名称:
gcloud compute instances list | awk '{ print $1 }' | grep default-pool
删除虚拟机实例的默认外部IP地址:
gcloud compute instances delete-access-config {{ VM_DEFAULT-POOL_INSTANCE }} --access-config-name external-nat
添加之前创建的外部静态 IP 地址:
gcloud compute instances add-access-config {{ VM_DEFAULT-POOL_INSTANCE }} --access-config-name external-nat --address {{ EXT_ADDRESS_IP }}
如果您的Pod没有附加到default-pool节点,请不要忘记使用nodeSelector选择它:
nodeSelector:
cloud.google.com/gke-nodepool: {{ NODE_NAME }}
我做了一些研究,找到了一些资料。
我们需要寻找的是“egress IPs”或NAT-as-a-Service,但它们目前在GKE中都不可用。
无论如何,我们有两个不同的选择:
希望对您有所帮助!