创建和部署容器化 Web 应用

了解如何使用 Cloud Shell Editor 创建容器化 Web 应用,在本地对其进行测试,然后将其部署到 Google Kubernetes Engine (GKE) 集群。


如需在 Cloud Shell Editor 中直接遵循有关此任务的分步指导,请点击操作演示

操作演示


准备工作

  1. 在 Google Cloud Console 中,转到项目选择器页面。

    转到“项目选择器”

  2. 选择或创建 Google Cloud 项目。

创建您的 Web 应用

使用 Cloud Shell Editor 作为创建应用的环境,该编辑器预加载了 Cloud 开发所需的工具。

如需创建应用,请按以下步骤操作:

  1. 启动 Cloud Shell Editor

  2. 如果系统提示您授权 Cloud Code 使用您的凭据进行 Google Cloud API 调用,请点击授权

  3. 从状态栏启动 Cloud Code 菜单。

  4. 选择 New Application(新建应用)。

  5. 选择 Kubernetes 应用作为示例应用的类型。

  6. 选择示例 Kubernetes 应用列表中的 Go:Hello World

  7. 选择一个文件夹作为应用位置,然后点击 Create New Application(创建新应用)。

Cloud Shell Editor 将在新工作区中加载您的应用。重新加载完毕后,您可以使用资源管理器视图访问您的应用。

在本地集群中测试应用

现在,您已经创建了应用,可以在本地 Kubernetes 集群中通过 Cloud Shell 运行该应用:

  1. 如需打开 Cloud Shell 终端,请点击终端 > 新建终端
  2. 如需启动本地 minikube 集群,请从终端命令提示符运行以下命令:

    minikube start
    

    设置 minikube 集群可能需要一分钟时间。

  3. 如果系统提示您授权 Cloud Shell 进行 Cloud API 调用,请点击授权

    设置集群后,系统会显示如下消息:

    Done! kubectl is now configured to
    use "minikube" cluster...
    

配置本地集群后,构建并运行此应用:

  1. 从状态栏启动 Cloud Code 菜单。
  2. 选择 Run on Kubernetes(在 Kubernetes 上运行)
  3. 如果系统提示您,请确认您要使用当前的 minikube 上下文。

    此过程需要几分钟的时间,您可以在 Development sessions(开发会话)视图中查看部署状态。

    如果点击“Development sessions”(开发会话)视图中的不同节点,则系统会显示与所选部署阶段相关的日志摘录。

  4. 应用完成构建和部署后,找到服务的端口转发节点:在“Development sessions”(开发会话)视图中,依次展开 Port Forward URLs(端口转发网址)> service(服务)> go-hello-world-external

  5. 如需启动您的应用,请将指针悬停在 go-hello-world-external 上,然后点击 打开网址

修改应用

如需了解 Hello World 应用的构成组件,请参阅该应用的 readme.md 文件中的图表。概括来讲,该应用包括以下内容:

  • 基本的 go-hello-world Web 应用 (main.go),用于向收到的所有请求返回模板化的“It's running!”(应用正在运行!)响应。
  • 负载均衡器 go-hello-world-external 服务 (hello.service.yaml),用于通过描述 Kubernetes Service 公开此应用。

如需修改应用,请按以下步骤操作:

  1. 修改 main.go 文件,以输出“It's redeployed!”(应用已重新部署!)。文件会自动保存。
  2. 稍等一分钟,让应用完成构建和部署,并在重新构建应用时,使用 Development sessions(开发会话)视图监控其进度。

  3. 应用完成构建和部署后,找到服务的端口转发节点:“Development sessions”(开发会话)>“Port Forward URLs”(端口转发网址)>“service”(服务)> go-hello-world-external

  4. 如需启动您的应用,请将指针悬停在 go-hello-world-external 上,然后点击 “Open URL”(打开网址)。

查看应用日志

如需在应用运行时对其进行分析,请使用日志查看器监控应用日志:

  1. 启动日志查看器,具体方法是打开命令面板(通过 Ctrl/Cmd+Shift+P视图 > 命令面板进行访问),然后运行“Cloud Code: View Logs”(Cloud Code:查看日志)。

    在此视图中,您可以过滤和浏览应用的日志。

  2. 指定 Deployment 过滤条件以查看应用 go-hello-world 的日志。

  3. 切换到应用中显示“It's redeployed!”(应用已重新部署!)的标签页。在浏览器中重新加载该页面,然后切换回 Cloud Shell 标签页。

  4. 如需在日志查看器中查看新生成的日志,请点击 刷新

创建一个 Google Kubernetes Engine 集群

如需创建新的 Google Kubernetes Engine 集群来部署应用,请执行以下操作:

  1. 点击 Cloud Code 图标 Cloud Code,然后展开 Kubernetes 部分。

  2. 点击 将集群添加到 KubeConfig,然后点击快捷选择菜单中的 Google Kubernetes Engine

  3. 当系统提示您启用 container.googleapis.com 时,点击 Yes

  4. 点击 + 创建新的 GKE 集群

  5. 选择标准作为集群类型。

  6. 点击打开以允许 Cloud Shell 打开 Google Cloud 控制台。

  7. 在 Google Cloud 控制台中,使用您创建的项目,将区域设置为 us-central1-a,并将集群名称设置为 my-first-cluster

  8. 点击创建。创建集群需要几分钟时间。

  9. 创建集群后,在快速选择菜单中,点击 刷新 Kubernetes 集群视图 刷新

  10. 新集群的名称显示在列表中后,点击集群名称。您的新集群将添加到配置中,并配置为活跃上下文。

将应用部署到 GKE 集群

如需将您的应用部署到新集群,请执行以下操作:

  1. 从可通过状态栏访问的 Cloud Code 菜单中选择 Run on Kubernetes(在 Kubernetes 上运行)

  2. 确认新创建的集群作为应用的上下文。

  3. 确认映像注册表的默认选项。

  4. 稍等一分钟,让应用完成构建和部署,并在重新构建应用时,使用 Development sessions(开发会话)视图监控其进度。

  5. 应用完成构建和部署后,找到服务的端口转发节点:在“Development sessions”(开发会话)视图中,依次展开 Port Forward URLs(端口转发网址)> service(服务)> go-hello-world-external

  6. 如需启动您的应用,请将指针悬停在 go-hello-world-external 上,然后点击 打开网址

清理

要仅删除您为本快速入门创建的集群,请执行以下操作:

  1. 将指针悬停在集群名称上,然后点击 “在 Google Cloud 控制台中打开”图标 在 Google Cloud 控制台中打开
  2. 点击删除,然后再次点击删除进行确认。

如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:

  1. 进入 Google Cloud 控制台中的“项目”页面:

    转到“项目”页面

  2. 选择您为本快速入门创建的项目,然后点击删除

  3. 输入项目 ID 进行确认,然后点击关停

    这将关闭该项目并安排将其删除。

后续步骤