创建和部署容器化 Web 应用

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


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

操作演示


准备工作

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

创建您的 Web 应用

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

如需创建应用,请执行以下操作:

  1. 启动 Cloud Shell Editor

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

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

  4. 选择新建应用

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

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

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

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

在本地集群中测试应用

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

  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 上,然后点击 Open URL(打开网址)。

修改应用

如需了解构成 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. 点击 Add a Cluster to the KubeConfig(将集群添加到 KubeConfig),然后点击 Quick pick(快捷选择)菜单中的 Google Kubernetes Engine

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

  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 上,然后点击 Open URL(打开网址)。

清理

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

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

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

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

    转到“项目”页面

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

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

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

后续步骤