Google 容器引擎和 VPN

Google Container Engine and VPN

我想 Google 容器引擎托管一些用于开发环境的容器,我的办公室通过 VPN 连接。

问题:

  1. Pod的IP对我可见吗?或者只有 Node 对我可见?
  2. pod可用的kubernetes维护的SkyDNS,我可以用吗?

假设我创建了一个 "headless" 服务。我可以通过 VPN 访问它吗?

{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "redis-stage-1"
  },
  "spec": {
    "ports": [{
      "port": 36379,
      "targetPort": 36379
    }],
    "selector": {
      "name": "redis-stage-1"
    }
  }
}
  1. Pods 和服务的 IP 是从您的集群的集群 CIDR 范围中选择的:

    gcloud container clusters describe my-cluster | grep clusterIpv4Cidr
    

    如果您将 VPN(可能还有 )配置为在您的网络和 GKE 集群之间转发流量,您应该能够访问这些 IP。

  2. 配置 VPN 与集群通信后,您可以将 SkyDNS 服务器添加到 resolv.conf 作为辅助 DNS 服务器以访问集群服务。对于无头服务,对 SkyDNS 的 DNS 查找应该解析为 Pod IP,它应该能够通过您的 VPN 到达您的集群。