我在terraform中配置了一个kubernetes群集和一个RDS,现在我想将RDS的节点IP列入白名单。是否有某种方法可以从cluster-config访问节点池示例?我对RDS配置的基本要求如下
ip_configuration {
dynamic "authorized_networks" {
for_each = google_container_cluster.data_lake.network
iterator = node
content {
name = node.network.ip
value = node.network.ip
}
}
}
但从我所看到的似乎没有办法获得节点/IP的列表..我尝试了
ip_configuration {
authorized_networks {
value = google_container_cluster.my_cluster.cluster_ipv4_cidr
}
}
这导致了Non-routable or private authorized network (10.80.0.0/14).., invalid
,所以看起来这只适用于公共ip。或者我必须为此设置一个单独的VPC?
1条答案
按热度按时间dly7yett1#
我建议您首先在GKE前面设置NAT网关,这样您就可以从单个出口点管理所有流出流量。
您可以使用此平台创建和设置NAT网关:https://registry.terraform.io/modules/GoogleCloudPlatform/nat-gateway/google/latest/examples/gke-nat-gateway
模块源代码:https://github.com/GoogleCloudPlatform/terraform-google-nat-gateway/tree/v1.2.3/examples/gke-nat-gateway
使用NAT网关,您的所有节点流量都将从单个IP流出,您可以将此
single IP
加入到RDS
的白名单中。由于RDS处于AWS服务中,因此如果使用GCP SQL(也是一个选项),则无法进行VPC对等。