You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Terraform中移除GCP集群的外部IP

移除GCP GKE集群的外部IP(Terraform配置)

要让GKE集群仅保留内部IP,需要分别配置控制平面(Master节点)和工作节点池的网络设置,以下是具体的Terraform配置修改方法:

1. 控制平面禁用外部端点

在google_container_cluster资源中,添加private_cluster_config块并禁用公共端点,确保控制平面仅通过内部IP访问:

resource "google_container_cluster" "gke_cluster" {
  name               = "your-cluster-name"
  location           = "us-central1"
  initial_node_count = 1

  # 配置私有集群参数,禁用外部端点
  private_cluster_config {
    enable_public_endpoint = false  # 关闭控制平面的外部IP访问
    enable_private_endpoint = true  # 启用内部端点(显式声明更清晰)
    master_ipv4_cidr_block = "172.16.0.0/28"  # 内部控制平面CIDR,按需调整
  }

  # 绑定VPC和子网
  network    = google_compute_network.vpc.name
  subnetwork = google_compute_subnetwork.subnet.name
}

2. 工作节点池禁用外部IP

对于集群的节点池(包括默认节点池和自定义节点池),需要在node_config中设置external_ip_access = false,防止节点被分配外部IP:

示例:默认节点池配置

resource "google_container_cluster" "gke_cluster" {
  # 其他集群配置...

  node_config {
    machine_type = "e2-medium"
    external_ip_access = false  # 禁用节点的外部IP分配
    # 可添加其他节点配置(如服务账号、标签等)
  }
}

示例:自定义节点池配置

如果使用单独的google_container_node_pool资源:

resource "google_container_node_pool" "custom_node_pool" {
  name       = "custom-pool"
  cluster    = google_container_cluster.gke_cluster.name
  location   = "us-central1"
  node_count = 3

  node_config {
    machine_type = "e2-standard-2"
    external_ip_access = false  # 禁用节点外部IP
  }
}

注意事项

  • 执行terraform apply前,确保Terraform状态与现有集群配置同步,避免意外变更。
  • 禁用控制平面外部端点后,需通过VPC内资源(如堡垒机、云VPN/Cloud Interconnect)或Cloud Shell访问集群。
  • 对已部署的集群修改配置时,terraform apply会触发集群更新,期间可能有短暂的控制平面或节点重启,建议在业务低峰操作。

内容的提问来源于stack exchange,提问作者Baisal Amatov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 20:15:44