【发布时间】:2019-01-21 22:05:28
【问题描述】:
我通过 Terraform 创建了 GKE Private Cluster(google_container_cluster 和 private = true 和 region 设置)并安装了 stable/openvpn Helm Chart。我的设置与本文中描述的基本相同:https://itnext.io/use-helm-to-deploy-openvpn-in-kubernetes-to-access-pods-and-services-217dec344f13,并且我能够看到文章中描述的 ClusterIP-only 公开服务。但是,当我连接到 VPN 时,kubectl 由于无法连接到主服务器而失败。
我将 OVPN_NETWORK setting 保留为默认值 (10.240.0.0),并将 OVPN_K8S_POD_NETWORK 和子网掩码设置更改为我在创建私有集群所在的私有子网时选择的次要范围。
我什至尝试将10.240.0.0/16 添加到我的master_authorized_networks_config,但我很确定该设置仅适用于外部网络(添加一个完全不同的 OVPN 服务器的外部 IP 允许我在运行时运行 kubectl连接到它)。
有什么想法我在这里做错了吗?
编辑:我只记得我必须为 master_ipv4_cidr_block 设置一个值才能创建私有集群。所以我将10.0.0.0/28 添加到ovpn.conf file 作为push "route 10.0.0.0 255.255.255.240" 但这没有帮助。有关此设置的文档指出:
为主服务器的 VPC 指定私有 RFC1918 块。大师 范围不得与集群 VPC 中的任何子网重叠。这 master 和您的集群使用 VPC 对等互连。必须在 CIDR 中指定 表示法,并且必须是 /28 子网。
但是对于集群外部子网上的 OpenVPN 客户端有何影响?如何利用上述 VPC 对等互连?
【问题讨论】:
标签: terraform google-kubernetes-engine openvpn private-subnet terraform-provider-gcp