专用集群是仅依赖于内部 IP 地址的虚拟私有云 (VPC) 原生集群。这意味着默认情况下,节点和 pod 与互联网隔离。本页面介绍了如何使用 Cloud Code 连接到具有公共端点访问权限和无公共端点访问权限的专用集群,并允许专用集群从 Google Cloud 外部访问资源。
如需了解专用集群,请参阅专用集群。 如需了解配置专用集群的步骤,请参阅创建专用集群。
将专用 GKE 集群添加到 KubeConfig
在 Cloud Code 中添加专用集群具有以下行为:
对于启用了公共端点的集群,添加集群会将 KubeConfig 中的集群地址设置为外部 IP。
对于已关闭公共端点的集群,添加集群会将 KubeConfig 中的集群地址设置为集群的内部 VPC IP。
如需将已获授权的网络添加到现有集群,请确保已连接到已获授权的网络,因为此集群已启用已获授权的网络。
如需详细了解如何连接到没有外部 IP 地址的虚拟机,请参阅安全连接到虚拟机实例。如需管理/删除您创建的实例,请参阅虚拟机实例。
要成功连接到专用集群,Cloud Code 必须在集群的网络中的机器上运行,或者能够访问集群的网络,例如使用代理服务器、Cloud Interconnect 或 Cloud VPN。
如需了解在 Cloud Code 中创建 GKE 集群并将现有 GKE 集群添加到 Cloud Code 的步骤,请参阅创建和配置 GKE 集群。 Cloud Code 会打开 Google Cloud 控制台以创建集群。
创建集群后,配置 Cloud NAT 以启用从集群发出的出站互联网连接(如果在创建集群期间未设置)。如需管理/删除您创建的网络,请参阅 VPC 网络。
排查连接到专用集群时遇到的问题
如果开发环境未正确配置为访问专用集群,则以下上下文中会显示有关如何解决该问题的建议:
在展开的 Kubernetes Explorer 中, Cloud Code 无法连接,且旁边显示错误图标 集群名称要查看可能的解决方法和更详细的说明, 请点击集群名称。
如果您尝试在因专用集群配置的潜在问题而无法访问的集群运行操作时,通知会显示错误消息,并详细说明了潜在问题和可能的解决方法。
为集群配置代理服务器
如果控制平面 API 不可公开访问(例如在关闭公共端点的 GKE 集群中),您可以配置 Cloud Code 以代理请求通过集群所在网络或 VPC 上的代理服务器连接到控制层面:
- 请在集群所在的网络上配置代理服务器。(如果尚未配置)。如需了解将 Compute Engine 虚拟机设置为基本代理服务器的步骤,请参阅使用堡垒主机远程访问专用集群。如需了解详情,请参阅创建使用网络代理以访问控制器的 Google Kubernetes Engine 专用集群。
- 右键点击
添加到 Cloud Code中
为集群设置 Kubectl 代理。按照提示输入代理服务器的名称,该名称存储在集群的
proxy-url
字段中。Kubernetes 视图会重新加载,以显示已连接的集群。
取消 Kubernetes 代理
右键点击已针对 Kubernetes 代理配置的集群的名称,然后
然后点击为集群取消 Kubectl Proxying。Cloud Code 会取消设置 KubeConfig 中的 proxy-url
字段,以停止对集群的代理请求。
从集群访问 Google Cloud 外部的资源
GKE 专用集群的所有配置都不提供具有互联网访问权限的节点。因此,集群无法访问公共互联网上的 API。集群会自动配置专用 Google 访问通道,例如,允许集群从 Artifact Registry 或 Container Registry 拉取映像。如果不进行额外配置以允许来自节点的出站互联网连接,则无法访问 Google Cloud 之外的 API 和映像注册数据库。如要提供这些连接,您可以从 Cloud Code 在 VPC 上设置 Cloud NAT:
- 运行向专用 GKE 节点授予出站互联网访问权限命令。
方法是右键点击该集群
(按
Ctrl
/Cmd
+Shift
+P
或点击视图 > 命令面板)。 - 在终端中,修改
gcloud compute routers create
和gcloud beta compute routers nats create
命令以指定应用的值。 - 要运行这些命令,请按
Enter
。 - 如需管理/删除您创建的路由器,请参阅 Cloud Router 路由器。
后续步骤
- 了解 共享虚拟私有云网络。