通过 IDE 进行部署和更新


如果开发要在 Google Kubernetes Engine 中运行的应用,则可以使用 IDE 和 Cloud Code 插件来简化关键开发任务,例如在本地测试和调试以及部署到测试集群。

目标

了解如何在 Cloud Shell Editor(在线演示 IDE)中执行以下开发任务:

  1. 创建示例 Kubernetes 应用。

  2. 在开发环境中运行、更新和查看应用的日志。

  3. 将应用部署到 GKE 集群。

如果您已安装 Cloud Code,也可以在自己的 IDE 中遵循类似的流程。


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

操作演示


费用

在本文档中,您将使用 Google Cloud 的以下收费组件:

您可使用价格计算器根据您的预计使用情况来估算费用。 Google Cloud 新用户可能有资格申请免费试用

完成本文档中描述的任务后,您可以通过删除所创建的资源来避免继续计费。如需了解详情,请参阅清理

准备工作

创建一个 Kubernetes 集群。 创建集群并部署工作负载介绍了如何执行此操作。

选择 Google Cloud 项目和集群

在本教程后面部分将应用部署到 GKE 时,您将需要指定 Google Cloud 项目和 GKE 集群。

  1. 进入 GKE 集群页面。

    转到“集群”

  2. 选择包含 GKE 集群的项目。

  3. 记下项目和集群的名称。

    您稍后需要用到此信息。

在 Cloud Shell Editor 中创建一个应用

  1. 在 Google Cloud 控制台中,点击任务栏中的 Cloud Shell 以打开 Cloud Shell。

  2. 点击 打开编辑器.

  3. 等待 Cloud Shell Editor 完成初始化。

  4. 在 Cloud Shell Editor 中,点击 View(查看)> Command Palette(命令面板)。

  5. 搜索 Cloud Code: New Application(Cloud Code:新应用),然后点击它。

  6. 选择 Kubernetes Application(Kubernetes 应用),然后选择 Go: Hello World

    每种语言框架都略有不同,本教程介绍了适用于 Go 的功能。

  7. 在“Save”(保存)对话框中,点击 Create new application(创建新应用)。

    Cloud Shell Editor 将重新加载并在 Explorer 视图中显示应用源文件。

该应用包含以下内容:

  • 基本的 go-hello-world Web 应用 (main.go),用于向收到的所有请求返回模板化的“It's running!”(应用正在运行!)响应。

  • Kubernetes Deployment 规范,hello.deployment.yaml

  • 定义应用的负载均衡器的 Kubernetes Service 规范,hello.service.yaml

  • 处理构建和部署应用的工作流的 Skaffold 文件,skaffold.yaml

在开发环境中运行应用

如果可能,请先在开发环境中运行应用,然后再部署到 GKE。这有助于您发现任何潜在问题,而无需使用 Google Cloud 配额。

如需在 Cloud Shell Editor 环境中运行应用,请执行以下操作:

  1. 在 Cloud Shell Editor 中,点击 Terminal(终端)> New Terminal(新终端)。

  2. 通过运行以下命令启动集群:

    minikube start
    

    minikube 是一个轻量级的 Kubernetes 实现,可在本地环境中创建一个虚拟机,并部署仅包含一个节点的简单集群。

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

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

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

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

设置 minikube 后,构建并运行您的应用:

  1. 在 Cloud Shell Editor 状态栏中,点击 Cloud Code

  2. 选择 Run on Kubernetes(在 Kubernetes 上运行)。

  3. 如果出现提示,请确认您要使用当前的 minikube 上下文。

    Cloud Shell Editor 会构建应用并将其部署到 minikube 集群。

  4. Development sessions(开发会话)视图中监控部署状态。

    部署完成后,Portforward URLs(端口转发网址)旁边会显示一个绿色对勾标记。Stream Application Logs(流式传输应用日志)旁边显示旋转图标。

  5. 如需查看您的应用,在 Development sessions(开发会话)窗格中往下找到 Port Forward URLs(端口转发网址)> service(服务)。

  6. 将指针悬停在 go-hello-world-external 上,然后点击 go-hello-world-external(打开网址)。

修改应用

当您更改应用中的源文件时,Cloud Shell Editor 会自动构建应用并将其部署到当前连接的集群。在本例中,您已连接到 minikube 集群。

如需修改应用并将其重新部署到本地 minikube 集群,请执行以下操作:

  1. 修改 main.go 文件,以输出“It's redeployed!”(应用已重新部署!)。文件会自动保存。

  2. 当应用重新构建和部署时,查看 Development sessions(开发会话)视图。

  3. 像之前那样查看重新部署的应用:

    1. Development sessions(开发会话)窗格中,找到 Port Forward URLs(端口转发网址)> service(服务)。

    2. 将指针悬停在 go-hello-world-external 上,然后点击 go-hello-world-external(打开网址)。

查看应用日志

  1. 在 Cloud Shell Editor 菜单栏中,选择 View(视图)> Command Palette(命令面板)。

  2. 搜索 Cloud Code: View Logs(Cloud Code:查看日志),然后点击它。

    此时日志查看器会打开。

  3. Deployment(部署)中,选择 go-hello-world

    这会过滤日志查看器,以仅显示 go-hello-world 应用的日志。

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

  5. 如需在日志查看器中查看新生成的日志,请点击 “Refresh”(刷新)。

将应用部署到 GKE 集群

  1. 将 GKE 集群添加到您可以部署到的集群列表中:

    1. Kubernetes 视图中,点击 Add a Cluster to the KubeConfig(将集群添加到 KubeConfig)。

    2. Choose a platform(选择平台)对话框中,点击 Google Kubernetes Engine

    3. 如果系统提示您启用 Google Cloud API,请点击 Yes(是)。

    4. 等待 Cloud Shell Editor 找到您的 Google Cloud 项目中的集群。

    5. Create or choose a GKE cluster(创建或选择 GKE 集群)对话框中,选择您创建的集群的名称 hello-world-cluster

  2. 在 Cloud Shell Editor 状态栏中,点击 Cloud Code,然后选择 Run on Kubernetes(在 Kubernetes 上运行)。

  3. 当系统提示您为部署请求选择上下文时,请选择 Use current context(使用当前上下文),这会设置为您的 GKE 集群。

  4. Choose image repository(选择映像仓库)对话框中,选择 gcr.io/PROJECT_NAME

    Cloud Shell Editor 会将应用构建为容器,并将该容器存储在您选择的仓库中。

  5. 当应用重新构建和部署时,查看 Development sessions(开发会话)视图。

  6. 如需在将应用部署到 GKE 时查看详细的日志消息,请点击 Development sessions(开发会话)视图中的 Deploy to Cluster(部署到集群)节点。

  7. 如需查看正在运行的应用,请执行以下操作:

    1. 点击 Development sessions(开发会话)标题以关闭视图。

    2. 打开 Kubernetes 视图。

    3. 展开您的 GKE 集群。

    4. 点击 Namespaces > default > Services > go-hello-world-external > External IPs(命名空间 > 默认 > 服务 > go-hello-world-external > 外部 IP)。

    5. 将指针悬停在 IP 地址上,然后点击 Open URL(打开网址)。

您已成功通过 IDE 创建和部署 GKE 应用。

后续步骤