GKE Autopilot:Qwik Start

实验 25 分钟 universal_currency_alt 1 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP957

Google Cloud 自学实验的徽标

概览

Google Kubernetes Engine (GKE) Autopilot 是一种全新的托管式运维模式,在这种模式下,Google 会代表您创建运行应用工作负载所需的物理基础设施,并进行规模调整和自动扩缩。

在本实验中,您将亲手体验如何使用 Kubernetes 配置和命令将应用容器化并将其部署到 GKE Autopilot 集群。

利用 Autopilot 简化 GKE

在 GKE 中,计算基础设施由基于单个计算实例的节点组成。
一组节点称为一个集群。 GKE 的技术基础是 Kubernetes,这是一款开源集群编排平台,凝聚了 Google 15 年来在容器中运行生产工作负载的丰富经验。 Kubernetes 借鉴了 Google 在全球规模下运行其热门服务时所使用的相同设计原理,可提供以下能力:

  • 自动管理
  • 对应用容器进行监控和活跃性探测
  • 自动扩缩
  • 滚动更新

借助 GKE Autopilot,您可以充分利用 Google 的以下能力:使用高可用性和安全性方面的最佳实践来优化和配置集群、监控集群的健康状况,并在任意时刻重新计算运行工作负载所需的集群容量。

GKE Autopilot 可让开发者专注于应用开发,而无需操心运维。 您仍然在使用 Kubernetes 来运行应用所需的关键业务服务,包括无状态和有状态服务。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

任务 1. 访问 Cloud Code

实验已经设置了一个集成式开发环境 (IDE) 和 Cloud Code 扩展程序,以便轻松将工作负载部署到 GKE 集群。 本实验使用 Cloud Code 访问 Google Cloud 产品和服务。 您可以在编辑器中或通过命令行查看集群资源的相关信息。

  1. 实验详细信息面板复制 IDE 网址。

  2. 将其粘贴到新的浏览器窗口中:

    注意:
    本实验环境使用开发环境来访问服务。 您可以直接在此环境中控制 GKE Autopilot 集群。

任务 2. 克隆代码库

第一个任务是克隆代码库,其中包含要运行的代码。 从版本控制系统中检索源代码,开始实验。

  1. 在 Cloud Code 环境中,从边栏中选择 Source Contro(源代码控制)按钮。

    突出显示的“Source Control”(源代码控制)按钮

  2. 点击 Clone Repository(克隆代码库)按钮。

  3. 将以下 GitHub 代码库粘贴到弹出的搜索栏中:

    https://github.com/subfuzion/voting-demo.git
  4. 点击搜索栏下方下拉列表中的 Clone from URL(从网址克隆)。

  5. 点击 OK(确定)以确认位置。

    注意:
    如果系统弹出窗口询问您是否信任文件夹,请选择 Yes I trust the Authors(是的,我信任作者)。
  6. 当系统提示您打开相应代码库的文件夹时,点击 Open(打开)。

    点击“检查我的进度”,验证已完成以下目标: 克隆代码库

任务 3. 将集群添加到 KubeConfig

GKE Autopilot 已在实验中预先配置。 在本部分中,您将更新环境的 KubeConfig 以指向集群。 更新完成后,您就可以开始部署演示版应用了。

  1. 访问导航菜单,然后依次选择 Terminal(终端)> New Terminal(新建终端)。

    打开新终端

    注意:
    现有版本的 kubectl 和自定义 Kubernetes 客户端包含特定于提供方的代码,用于管理客户端和 Google Kubernetes Engine 之间的身份验证。 从 1.26 版开始,OSS kubectl 中将不再包含此代码。
    GKE 用户需要下载并使用单独的身份验证插件来生成 GKE 专用令牌。 这一新的二进制文件 gke-gcloud-auth-plugin 使用 Kubernetes Client-go 凭证插件机制来扩展 kubectl 的身份验证以支持 GKE。
    如需了解详情,您可以查看以下文档
  2. 将集群凭证添加到本地 kube-config

    gcloud container clusters get-credentials dev-cluster --region {{{project_0.default_region | Region}}}

    预期输出:

    Fetching cluster endpoint and auth data. kubeconfig entry generated for dev-cluster.

    点击“检查我的进度”,验证已完成以下目标: 将集群添加到 KubeConfig

    注意:
    进度检查过程有时可能需要几分钟才能完成。

任务 4. 构建并部署应用

在部署应用之前,您需要为该应用准备一个容器。 在此环境中,您将使用 Skaffold 清单来构建 webvote 容器。 此实验使用 Artifact Registry 托管容器映像,然后使用 Kubernetes 清单部署映像。

  1. 打开终端(如果尚未打开)

  2. 切换到应用文件夹

    cd ~/voting-demo/v2
  3. 为部署设置区域

    gcloud config set compute/region {{{ project_0.default_region | "REGION" }}}
  4. 使用 Skaffold 部署源应用

    skaffold run --default-repo=gcr.io/{{{ project_0.project_id | "PROJECT_ID" }}}/voting-app --tail 注意:
    部署需要一分钟左右来启动资源。
    系统将从源代码构建容器映像,然后在映像可用后将其部署到 GKE Autopilot 集群。

    点击“检查我的进度”,验证已完成以下目标: 部署应用

任务 5. 运行应用

现在,测试应用是否按指定方式运行。

  1. 启动新终端以测试应用。

  2. 运行以下命令,验证 web-external 负载均衡器已经创建

    kubectl get svc web-external --output=json | jq -r .status.loadBalancer.ingress[0].ip 注意:
    负载均衡器可能需要一段时间才能返回 IP 地址。 请等待返回 IP,然后再继续。
  3. 在浏览器中打开新的标签页

  4. 输入以 HTTP 网站形式返回的 IP 值

    http://[web-external-ip]

    预期输出:

    投票应用显示两个选项:“tabs”或“spaces”

    注意:
    现在可通过互联网访问部署到 GKE Autopilot 的应用。

任务 6. 测试应用

  1. TABSSPACES 投票。

    注意:
    您可以根据需要多次按任一按钮。 我们将在下一步中测试输入。
  2. 按如下方式更新投票应用网址:

    http://[web-external-ip]/results

    输出示例:

    { "results": { "a": 0, "b": 1 }, "success": true }

    点击“检查我的进度”,验证已完成以下目标: 测试应用

    太棒了! 现在,您已将投票应用部署到集群。 GKE Autopilot 已经在负责管理 Kubernetes 基础设施。

任务 7. 清理

  1. 在运行应用的终端中按 CTRL-C 终止应用。

    注意:
    Skaffold 应用仍处于活跃状态。 如果重新运行 Skaffold 应用,它将使用我们之前创建的现有资源。
    如何删除应用?我们需要告知 Skaffold,不再需要该应用。
  2. 告知 Skaffold 删除资源

    skaffold delete

    预期输出:

    Cleaning up... - deployment.apps "database" deleted - service "database" deleted - deployment.apps "vote" deleted - service "vote" deleted - deployment.apps "web" deleted - service "web" deleted - service "web-external" deleted

    点击“检查我的进度”,验证已完成以下目标: 从集群中删除应用

恭喜!

您刚刚在 Google Kubernetes Engine 中部署了一个容器化应用! 在本实验中,您执行了以下任务:

  • 克隆了外部公共代码库
  • 更新了 KubeConfig 以使用 GKE Autopilot 集群
  • 在无需安装软件的情况下使用 Skaffold 创建了远程 Artifact Registry 映像
  • 将应用部署到 GKE Autopilot
  • 使用 HTTP 测试了应用端点
  • 清理了现有的已部署资源

后续步骤/了解详情

本实验是 Qwik Starts 系列实验中的一项。通过这些实验,您可以大致体验 Google Cloud 的诸多功能。请在 Skills 目录中搜索“Qwik Starts”,找到您要参与的下一项实验!

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2024 年 6 月 3 日

上次测试实验的时间:2024 年 6 月 3 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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