正在加载…
未找到任何结果。

在 Google Cloud 控制台中运用您的技能

03

Google Cloud Storage and Containers for AWS Professionals

访问 700 多个实验和课程

Google Cloud 基础知识:GKE 使用入门 (AWS)

实验 35 分钟 universal_currency_alt 5 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

身为一名云架构师,您设计的多层架构会包含计算层。一般而言,您会部署容器来满足组织的计算需求。完成设计时需要考虑以下几点:

  • 如何运用 Kubernetes 部署并集中管理容器?
  • 如何将容器分组到集群内?
  • 如何确保集群的性能和效率得到优化?

在 Amazon Web Services (AWS) 中,您需要通过 Amazon Elastic Kubernetes Service (EKS) 部署容器。通过 Kubernetes,EKS 能够管理 Kubernetes 控制平面节点的可用性和可伸缩性,这些节点负责调度容器,管理应用的可用性,以及存储集群数据。 您在 AWS EKS 上的容器化架构如下所示:

AWS 图示

接下来,您将探索如何创建可用区级 Google Kubernetes Engine (GKE) 集群来分配您的容器。

概览

在本实验中,您将创建一个包含多个容器的 Google Kubernetes Engine 集群,其中的每个容器都含有一个 Web 服务器。您需要将一个负载均衡器布置在该集群的前端并查看集群中的内容。

目标

在本实验中,您将学习如何执行以下任务:

任务 1. 登录 Google Cloud

对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。

  1. 请使用无痕式窗口登录 Qwiklabs。

  2. 留意实验的访问时限(例如 1:15:00)并确保能在相应时间段内完成实验。
    系统不提供暂停功能。如有需要,您可以重新开始实验,不过必须从头开始。

  3. 准备就绪时,点击开始实验

  4. 请记好您的实验凭据(用户名密码)。您需要使用这组凭据来登录 Google Cloud 控制台。

  5. 点击打开 Google 控制台

  6. 点击使用其他帐号,然后将实验的凭据复制并粘贴到相应提示框中。
    如果您使用其他凭据,将会收到错误消息或产生费用

  7. 接受条款并跳过恢复资源页面。

任务 2. 确认已启用所需的 API

  1. 记录您的 Google Cloud 项目名称。该值显示在 Google Cloud 控制台的顶部栏中。其格式为 qwiklabs-gcp-,后跟十六进制数字。

  2. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击 API 和服务

  3. 向下滚动已启用 API 的列表,确认以下两个 API 均已启用:

  • Kubernetes Engine API
  • Container Registry API

如果有任一 API 缺失,请点击顶部的启用 API 和服务。按名称搜索上述两个 API 并为您的当前项目启用这两个 API。(您在前面部分记录了该 GCP 项目的名称。)

任务 3. 启动 Kubernetes Engine 集群

  1. 在 Google Cloud 控制台右上角的工具栏中,点击激活 Cloud Shell 按钮。

    Cloud Shell 图标

  2. 点击继续

  3. 为方便后续引用,您可以将 Qwiklabs 分配给您的可用区放在一个名为 MY_ZONE 的环境变量中。在 Cloud Shell 提示符下,输入下面这个部分命令:

    export MY_ZONE=

    在末尾输入 Qwiklabs 分配给您的可用区。完整的命令应如下所示:

    export MY_ZONE=us-central1-a
  4. 启动一个由 Kubernetes Engine 管理的 Kubernetes 集群。将该集群命名为 webfrontend,并将其配置为运行 2 个节点:

    gcloud container clusters create webfrontend --zone $MY_ZONE --num-nodes 2

    集群可能需要几分钟时间才能创建完毕,因为 Kubernetes Engine 需要为您预配虚拟机。

  5. 创建集群后,使用 kubectl version 命令检查所安装的 Kubernetes 版本:

    kubectl version

    gcloud container clusters create 命令已自动为您完成 kubectl 身份验证。

  6. 在 GCP 控制台中查看正在运行的节点。在导航菜单 (“导航菜单”图标) 中,点击 Compute Engine > 虚拟机实例

    您的 Kubernetes 集群现已可供使用。

    点击“检查我的进度”,验证已完成以下目标: 启动 Kubernetes Engine 集群

任务 4. 运行和部署容器

  1. 在 Cloud Shell 提示符下,启动 nginx 容器的一个实例。(Nginx 是一款受欢迎的 Web 服务器。)

    kubectl create deploy nginx --image=nginx:1.17.10

    在 Kubernetes 中,所有容器都在 Pod 中运行。使用 kubectl create 命令后,Kubernetes 会创建一个由单个 Pod 组成的部署,nginx 容器在该 Pod 中运行。Kubernetes 部署会保持一定数量的 Pod 处于启动和运行状态,即使运行这些 Pod 的节点发生故障也是如此。在该命令中,您启动了默认数量的 Pod,即 1 个 Pod。

注意:如果您看到任何有关未来版本功能弃用的警告,可以暂时忽略,继续进行后续操作。
  1. 查看运行 nginx 容器的 Pod:

    kubectl get pods
  2. 在互联网上公开 nginx 容器:

    kubectl expose deployment nginx --port 80 --type LoadBalancer

    Kubernetes 创建了一个服务和一个外部负载均衡器,并将一个公共 IP 地址附加到该均衡器。该 IP 地址在服务的整个生命周期内保持不变。流向该公共 IP 地址的所有网络流量都会被路由到服务后端的 Pod:在本例中,即为运行 nginx 的 Pod。

  3. 查看新服务:

    kubectl get services

    您可以使用显示的外部 IP 地址对 nginx 容器进行远程测试并与之建立远程通信。

    为服务填充外部 IP 字段可能需要几秒钟时间。这种情况很正常。只需每隔几秒重新运行 kubectl get services 命令,直到字段中填充数据。

  4. 在网络浏览器中打开一个新标签页,将集群的外部 IP 地址粘贴到地址栏中。系统随即会显示 Nginx 浏览器的默认首页。

  5. 增加服务中运行的 Pod 数量:

    kubectl scale deployment nginx --replicas 3

    当一个应用越来越受欢迎时,要用到的资源也会越来越多,这时候对部署进行扩容将会非常有用。

  6. 确认 Kubernetes 已更新 Pod 数量:

    kubectl get pods
  7. 确认外部 IP 地址未发生变化:

    kubectl get services
  8. 在网络浏览器中,返回到集群外部 IP 地址对应的标签页。刷新该页面,确认 nginx Web 服务器仍能正常响应。

点击“检查我的进度”,验证已完成以下目标: 运行和部署容器

恭喜!

在本实验中,您在 Kubernetes Engine 中配置了一个 Kubernetes 集群。您将托管应用的多个 Pod 部署到了该集群,公开了该应用,还对该应用进行了扩容。

由于 Kubernetes 是开源的,这种容器化环境具有很强的可移植性和适应能力。因此,在所有平台上部署 Kubernetes 的过程都是类似的。

下面来回顾一下这些服务之间的异同之处:

相似之处:

  • GKE 和 EKS 都是托管式 Kubernetes 服务,可让客户在云端部署、管理和扩缩容器化应用。
  • Google Cloud 和 AWS 均提供 Kubernetes 服务作为平台即服务 (PaaS)。
  • GKE 和 EKS 均可使用 YAML 文件进行部署。
  • GKE 和 EKS 均可将相同的原则应用于要纳入集群的容器和部署。
  • GKE 和 EKS 均可使用 kubectl 来部署和管理 Docker 容器。

不同之处:

  • GKE 和 EKS 在 Kubernetes 的实现方面几乎没有差异。区别体现在基础设施的预配和服务的管理上。
  • Google GKE 提供一项名为 GKE Autopilot 的功能,该功能可提供经优化的全托管式 Kubernetes 体验,无需用户管理底层基础设施。Autopilot 不在本课程的讨论范畴之内。您可以点击此处了解详情。

结束实验

完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。

系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交

星级数的含义如下:

  • 1 颗星 = 非常不满意
  • 2 颗星 = 不满意
  • 3 颗星 = 一般
  • 4 颗星 = 满意
  • 5 颗星 = 非常满意

如果您不想提供反馈,可以关闭该对话框。

如果要留言反馈、提出建议或做出更正,请使用支持标签页。

版权所有 2020 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

上一步
下一步

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
预览