
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Start a Kubernetes Engine cluster
/ 5
Run and deploy a container
/ 5
身为一名云架构师,您设计的多层架构会包含计算层。一般而言,您会部署容器来满足组织的计算需求。完成设计时需要考虑以下几点:
在 Amazon Web Services (AWS) 中,您需要通过 Amazon Elastic Kubernetes Service (EKS) 部署容器。通过 Kubernetes,EKS 能够管理 Kubernetes 控制平面节点的可用性和可伸缩性,这些节点负责调度容器,管理应用的可用性,以及存储集群数据。 您在 AWS EKS 上的容器化架构如下所示:
接下来,您将探索如何创建可用区级 Google Kubernetes Engine (GKE) 集群来分配您的容器。
在本实验中,您将创建一个包含多个容器的 Google Kubernetes Engine 集群,其中的每个容器都含有一个 Web 服务器。您需要将一个负载均衡器布置在该集群的前端并查看集群中的内容。
在本实验中,您将学习如何执行以下任务:
kubectl
部署和管理 Docker 容器。对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
请使用无痕式窗口登录 Qwiklabs。
留意实验的访问时限(例如 1:15:00
)并确保能在相应时间段内完成实验。
系统不提供暂停功能。如有需要,您可以重新开始实验,不过必须从头开始。
准备就绪时,点击开始实验。
请记好您的实验凭据(用户名和密码)。您需要使用这组凭据来登录 Google Cloud 控制台。
点击打开 Google 控制台。
点击使用其他帐号,然后将此实验的凭据复制并粘贴到相应提示框中。
如果您使用其他凭据,将会收到错误消息或产生费用。
接受条款并跳过恢复资源页面。
记录您的 Google Cloud 项目名称。该值显示在 Google Cloud 控制台的顶部栏中。其格式为 qwiklabs-gcp-
,后跟十六进制数字。
在 Google Cloud 控制台的导航菜单 () 中,点击 API 和服务。
向下滚动已启用 API 的列表,确认以下两个 API 均已启用:
如果有任一 API 缺失,请点击顶部的启用 API 和服务。按名称搜索上述两个 API 并为您的当前项目启用这两个 API。(您在前面部分记录了该 GCP 项目的名称。)
在 Google Cloud 控制台右上角的工具栏中,点击激活 Cloud Shell 按钮。
点击继续。
为方便后续引用,您可以将 Qwiklabs 分配给您的可用区放在一个名为 MY_ZONE
的环境变量中。在 Cloud Shell 提示符下,输入下面这个部分命令:
在末尾输入 Qwiklabs 分配给您的可用区。完整的命令应如下所示:
启动一个由 Kubernetes Engine 管理的 Kubernetes 集群。将该集群命名为 webfrontend,并将其配置为运行 2 个节点:
集群可能需要几分钟时间才能创建完毕,因为 Kubernetes Engine 需要为您预配虚拟机。
创建集群后,使用 kubectl version
命令检查所安装的 Kubernetes 版本:
gcloud container clusters create
命令已自动为您完成 kubectl
身份验证。
在 GCP 控制台中查看正在运行的节点。在导航菜单 () 中,点击 Compute Engine > 虚拟机实例。
您的 Kubernetes 集群现已可供使用。
点击“检查我的进度”,验证已完成以下目标:
在 Cloud Shell 提示符下,启动 nginx 容器的一个实例。(Nginx 是一款受欢迎的 Web 服务器。)
在 Kubernetes 中,所有容器都在 Pod 中运行。使用 kubectl create
命令后,Kubernetes 会创建一个由单个 Pod 组成的部署,nginx 容器在该 Pod 中运行。Kubernetes 部署会保持一定数量的 Pod 处于启动和运行状态,即使运行这些 Pod 的节点发生故障也是如此。在该命令中,您启动了默认数量的 Pod,即 1 个 Pod。
查看运行 nginx 容器的 Pod:
在互联网上公开 nginx 容器:
Kubernetes 创建了一个服务和一个外部负载均衡器,并将一个公共 IP 地址附加到该均衡器。该 IP 地址在服务的整个生命周期内保持不变。流向该公共 IP 地址的所有网络流量都会被路由到服务后端的 Pod:在本例中,即为运行 nginx 的 Pod。
查看新服务:
您可以使用显示的外部 IP 地址对 nginx 容器进行远程测试并与之建立远程通信。
为服务填充外部 IP 字段可能需要几秒钟时间。这种情况很正常。只需每隔几秒重新运行 kubectl get services
命令,直到字段中填充数据。
在网络浏览器中打开一个新标签页,将集群的外部 IP 地址粘贴到地址栏中。系统随即会显示 Nginx 浏览器的默认首页。
增加服务中运行的 Pod 数量:
当一个应用越来越受欢迎时,要用到的资源也会越来越多,这时候对部署进行扩容将会非常有用。
确认 Kubernetes 已更新 Pod 数量:
确认外部 IP 地址未发生变化:
在网络浏览器中,返回到集群外部 IP 地址对应的标签页。刷新该页面,确认 nginx Web 服务器仍能正常响应。
点击“检查我的进度”,验证已完成以下目标:
在本实验中,您在 Kubernetes Engine 中配置了一个 Kubernetes 集群。您将托管应用的多个 Pod 部署到了该集群,公开了该应用,还对该应用进行了扩容。
由于 Kubernetes 是开源的,这种容器化环境具有很强的可移植性和适应能力。因此,在所有平台上部署 Kubernetes 的过程都是类似的。
下面来回顾一下这些服务之间的异同之处:
相似之处:
不同之处:
完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。
系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交。
星级数的含义如下:
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
版权所有 2020 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验
在本实验中,您将创建一个包含多个容器的 Google Kubernetes Engine 集群,其中的每个容器都含有一个 Web 服务器。您需要将一个负载均衡器布置在该集群的前端并查看集群中的内容。
时长: 0 分钟设置 · 35 分钟访问时间 · 35 分钟完成
AWS 区域: []
级别: introductory