检查点
Create a private cluster
/ 10
Create a VM instance
/ 10
Authorize your external address range
/ 20
Delete the Kubernetes cluster
/ 20
Create a subnetwork and secondary ranges in us-central1 region
/ 10
Create a private cluster that uses your subnetwork
/ 10
Authorize your external address range for private cluster in custom subnetwork
/ 20
设置 Kubernetes 专用集群
GSP178
概览
在 Kubernetes Engine 中,专用集群是指确保无法从公共网络访问主实例的集群。在专用集群中,节点没有公共 IP 地址,只有专用地址,因此工作负载在隔离的环境中运行。节点和主实例使用 VPC 对等互连相互通信。
在 Kubernetes Engine API 中,地址范围以无类别域间路由 (CIDR) 区块表示。
在本实验中,您将学习如何创建 Kubernetes 专用集群。
您将执行的操作
- 创建 Kubernetes 专用集群。
前提条件
- 学员应已具备创建和启动 Kubernetes 集群的经验,并全面掌握 CIDR 范围格式的 IP 寻址。
设置和要求
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
- 完成实验的时间 - 请注意,实验开始后无法暂停。
如何开始实验并登录 Google Cloud 控制台
-
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
- 打开 Google Cloud 控制台按钮
- 剩余时间
- 进行该实验时必须使用的临时凭据
- 帮助您逐步完成本实验所需的其他信息(如果需要)
-
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。
注意:如果您看见选择账号对话框,请点击使用其他账号。 -
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
{{{user_0.username | "<用户名>"}}} 您也可以在实验详细信息面板中找到用户名。
-
点击下一步。
-
复制下面的密码,然后将其粘贴到欢迎对话框中。
{{{user_0.password | "<密码>"}}} 您也可以在实验详细信息面板中找到密码。
-
点击下一步。
重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本次实验中使用您自己的 Google Cloud 账号可能会产生额外费用。 -
继续在后续页面中点击以完成相应操作:
- 接受条款及条件。
- 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
- 请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
激活 Cloud Shell
Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。
- 点击 Google Cloud 控制台顶部的激活 Cloud Shell 。
如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID:
gcloud
是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。
- (可选)您可以通过此命令列出活跃账号名称:
-
点击授权。
-
现在,输出的内容应如下所示:
输出:
- (可选)您可以通过此命令列出项目 ID:
输出:
输出示例:
gcloud
, in Google Cloud, refer to the gcloud CLI overview guide.
任务 1. 设置区域和可用区
- 设置本实验的项目区域:
- 为区域创建一个变量:
- 为可用区创建一个变量:
参阅“区域和可用区”文档了解详情。
gcloud
时,不同会话的配置设置保持不变。但在 Cloud Shell 中,您需要为每个新会话或在每次重新连接时设置配置。
任务 2. 创建专用集群
- 创建专用集群时,您必须指定运行 Kubernetes 主实例组件的虚拟机的
/28
CIDR 范围,并且需要启用 IP 别名。
接下来,您将创建一个名为 private-cluster
的集群,并为主实例指定 CIDR 范围 172.16.0.16/28
。启用 IP 别名时,让 Kubernetes Engine 自动为您创建一个子网。
您将使用 --private-cluster
、--master-ipv4-cidr
和 --enable-ip-alias
标志来创建专用集群。
- 运行以下命令以创建集群:
验证您已完成的任务
点击检查我的进度可验证您已完成的任务。如果您已成功创建专用集群,就会看到一个评估分数。
任务 3. 查看子网和次要地址范围
- 列出默认网络中的子网:
-
在输出中,找到为您的集群自动创建的子网的名称。例如
gke-private-cluster-subnet-xxxxxxxx
。请保存该集群的名称,以备在后续步骤中使用。 -
现在,运行以下命令获取自动创建的子网的信息(将
[SUBNET_NAME]
替换为您的子网):
输出中会显示带 GKE 专用集群名称的主地址范围以及次要地址范围:
在输出中,您可以看到一个次要范围用于 Pod,另一个次要范围用于服务。
请注意,privateIPGoogleAccess
设置为 true
。这让您的集群主机(只有专用 IP 地址)能够与 Google API 和服务通信。
任务 4. 启用主授权网络
此时,唯一能访问主实例的 IP 地址是在以下范围内的地址:
- 您的子网的主要范围,这是用于节点的范围。
- 您的子网的次要范围,这是用于 Pod 的范围。
要提供对主实例的其他访问权限,您必须为所选地址范围授权。
创建虚拟机实例
- 创建一个源实例,用于检查与 Kubernetes 集群的连接情况:
验证您已完成的任务
点击检查我的进度可验证您已完成的任务。如果您已成功创建虚拟机实例,就会看到一个评估分数。
- 使用以下命令来获取
source-instance
的<External_IP>
:
输出示例:
-
复制
<nat_IP>
地址并保存,以在后续步骤中使用。 -
运行以下命令来为外部地址范围授权,请将
[MY_EXTERNAL_RANGE]
替换为上一个输出中的外部地址 CIDR 范围(您的 CIDR 范围是natIP/32
)。通过将 CIDR 范围指定为natIP/32
,我们将一个特定的 IP 地址加入许可名单:
[MY_EXTERNAL_RANGE]
替换为您的网络外部地址 CIDR 范围。
验证您已完成的任务
点击检查我的进度可验证您已完成的任务。如果您已成功为外部地址范围授权,就会看到一个评估分数。
现在您可以从一系列外部地址访问主实例了,接下来您将安装 kubectl
,以便使用它来获取有关您集群的信息。例如,您可以使用 kubectl
来验证您的节点没有外部 IP 地址。
- 使用以下命令,通过 SSH 连接到
source-instance
:
-
按
Y
继续。对于所有口令问题,均按 Enter 键回复。 -
在 SSH shell 中,安装 Cloud SDK 的
kubectl
组件:
- 使用以下命令,从 SSH shell 中配置对 Kubernetes 集群的访问权限:
ZONE
变量中导出指定的可用区。
- 验证您的集群节点没有外部 IP 地址:
输出中显示节点具有内部 IP 地址,但没有外部地址:
- 下面是另一个可用于验证节点没有外部 IP 地址的命令:
输出中显示 EXTERNAL-IP
列为空:
- 输入以下命令关闭 SSH shell:
任务 5. 清理
- 删除 Kubernetes 集群:
- 按
Y
继续。
验证您已完成的任务
点击检查我的进度可验证您已完成的任务。如果您已成功删除 Kubernetes 集群,就会看到一个评估分数。
任务 6. 创建一个使用自定义子网的专用集群
在上一部分,Kubernetes Engine 自动为您创建了一个子网。在此部分,您将创建自己的自定义子网,然后创建一个专用集群。 您的子网有一个主地址范围和两个次要地址范围。
- 创建子网和次要地址范围:
验证您已完成的任务
点击检查我的进度可验证您已完成的任务。如果您已在
- 创建一个使用您的子网的专用集群:
验证您已完成的任务
点击检查我的进度可验证您已完成的任务。如果您已成功创建一个使用您的子网的专用集群,就会看到一个评估分数。
- 检索源实例的外部地址范围:
输出示例:
-
复制
<nat_IP>
地址并保存,以在后续步骤中使用。 -
运行以下命令来为外部地址范围授权,请将
[MY_EXTERNAL_RANGE]
替换为上一个输出中的外部地址 CIDR 范围(您的 CIDR 范围是natIP/32
)。通过将 CIDR 范围指定为natIP/32
,我们将一个特定的 IP 地址加入许可名单:
验证您已完成的任务
点击检查我的进度可验证您已完成的任务。如果您已成功为外部地址范围授予访问自定义子网中某个专用集群的权限,就会看到一个评估分数。
- 使用以下命令,通过 SSH 连接到
source-instance
:
- 使用以下命令,从 SSH shell 中配置对 Kubernetes 集群的访问权限:
ZONE
变量中导出指定的可用区。
- 验证您的集群节点没有外部 IP 地址:
输出中显示节点具有内部 IP 地址,但没有外部地址:
此时,唯一能访问主实例的 IP 地址是在以下范围内的地址:
- 您的子网的主要范围,这是用于节点的范围。在本例中,节点范围是
10.0.4.0/22
。 - 您的子网的次要范围,这是用于 Pod 的范围。在本例中,Pod 的范围是
10.4.0.0/14
。
恭喜!
您学习了如何创建 Kubernetes 专用集群。
后续步骤/了解详情
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 4 月 15 日
上次测试实验的时间:2023 年 9 月 20 日
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。