Ang*_*ain 8 google-cloud-platform google-kubernetes-engine terraform
我一直在尝试设置一个 terraform 模块来创建私有集群,但我遇到了一个奇怪的情况。
创建具有master授权网络的集群时,如果我通过GCP控制台来创建私有集群就可以了。但是当我用 Terraform 做这件事时,我得到一个奇怪的错误:
Invalid master authorized networks: network "<cidr>" is not a reserved network, which is required for private endpoints.
Run Code Online (Sandbox Code Playgroud)
代码中有趣的部分如下:
....
master_authorized_networks_config {
cidr_blocks {
cidr_block = "<my-network-cidr>"
}
}
private_cluster_config {
enable_private_endpoint = true
enable_private_nodes = true
master_ipv4_cidr_block = "<cidr>"
}
....
Run Code Online (Sandbox Code Playgroud)
有什么我在这里忘记了吗?
根据谷歌文档(https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters),应该可以同时拥有私有和公共端点,并且 master_authorized_networks_config 应该具有可以到达的网络这些端点中的任何一个。
如果将 enable_private_endpoint 设置为 false 意味着创建了私有端点,但它也创建了公共端点,那么这是一个可怕的错误命名变量,因为它实际上是在关闭和打开公共端点,而不是私有端点。显然,指定一个 private_cluster_config 就足以启用私有端点,并且如果要相信报告的行为,该标志会切换公共端点。
这当然是我的经验 - 在 master_authorized_networks_config 中指定我的本地 IP 地址导致集群创建在 enable_private_endpoint 为真时失败。当我将它设置为 false 时,我得到了两个端点并且配置没有被拒绝。
我最近也遇到了同样的问题。
我找到的解决方案是设置enable_private_endpoint = false.
在这种情况下,无论如何都会创建专用端点,但您可以添加带有外部地址的 CIDR 以掌握授权网络。
| 归档时间: |
|
| 查看次数: |
2617 次 |
| 最近记录: |