目标
了解如何在 Cloud Shell Editor(在线演示 IDE)中执行以下开发任务:
创建示例 Kubernetes 应用。
在开发环境中运行、更新和查看应用的日志。
将应用部署到 GKE 集群。
如果您已安装 Cloud Code,也可以在自己的 IDE 中遵循类似的流程。
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
费用
在本文档中,您将使用 Google Cloud 的以下收费组件:
您可使用价格计算器根据您的预计使用情况来估算费用。
完成本文档中描述的任务后,您可以通过删除所创建的资源来避免继续计费。如需了解详情,请参阅清理。
准备工作
创建一个 Kubernetes 集群。 创建集群并部署工作负载介绍了如何执行此操作。
选择 Google Cloud 项目和集群
在本教程后面部分将应用部署到 GKE 时,您将需要指定 Google Cloud 项目和 GKE 集群。
进入 GKE 集群页面。
选择包含 GKE 集群的项目。
记下项目和集群的名称。
您稍后需要用到此信息。
在 Cloud Shell Editor 中创建一个应用
在 Google Cloud 控制台中,点击任务栏中的
Cloud Shell 以打开 Cloud Shell。点击
打开编辑器 .等待 Cloud Shell Editor 完成初始化。
在 Cloud Shell Editor 中,点击 View(查看)> Command Palette(命令面板)。
搜索 Cloud Code: New Application(Cloud Code:新应用),然后点击它。
选择 Kubernetes Application(Kubernetes 应用),然后选择 Go: Hello World。
每种语言框架都略有不同,本教程介绍了适用于 Go 的功能。
在“Save”(保存)对话框中,点击 Create new application(创建新应用)。
Cloud Shell Editor 将重新加载并在 Explorer 视图中显示应用源文件。
该应用包含以下内容:
基本的
go-hello-world
Web 应用 ( ),用于向收到的所有请求返回模板化的“It's running!”(应用正在运行!)响应。main.go
Kubernetes Deployment 规范,
。hello.deployment.yaml
定义应用的负载均衡器的 Kubernetes Service 规范,
。hello.service.yaml
处理构建和部署应用的工作流的 Skaffold 文件,
。skaffold.yaml
在开发环境中运行应用
如果可能,请先在开发环境中运行应用,然后再部署到 GKE。这有助于您发现任何潜在问题,而无需使用 Google Cloud 配额。
如需在 Cloud Shell Editor 环境中运行应用,请执行以下操作:
在 Cloud Shell Editor 中,点击 Terminal(终端)> New Terminal(新终端)。
通过运行以下命令启动集群:
minikube start
minikube 是一个轻量级的 Kubernetes 实现,可在本地环境中创建一个虚拟机,并部署仅包含一个节点的简单集群。
设置 minikube 集群可能需要一分钟时间。
如果系统提示您授权 Cloud Shell 进行 Cloud API 调用,请点击授权。
设置 minikube 集群后,系统会显示如下消息:
Done! kubectl is now configured to use "minikube" cluster...
设置 minikube 后,构建并运行您的应用:
在 Cloud Shell Editor 状态栏中,点击
Cloud Code 。选择 Run on Kubernetes(在 Kubernetes 上运行)。
如果出现提示,请确认您要使用当前的 minikube 上下文。
Cloud Shell Editor 会构建应用并将其部署到 minikube 集群。
在
Development sessions (开发会话)视图中监控部署状态。部署完成后,Portforward URLs(端口转发网址)旁边会显示一个绿色对勾标记。Stream Application Logs(流式传输应用日志)旁边显示旋转图标。
如需查看您的应用,在 Development sessions(开发会话)窗格中往下找到 Port Forward URLs(端口转发网址)> service(服务)。
将指针悬停在
go-hello-world-external 上,然后点击 go-hello-world-external(打开网址)。
修改应用
当您更改应用中的源文件时,Cloud Shell Editor 会自动构建应用并将其部署到当前连接的集群。在本例中,您已连接到 minikube 集群。
如需修改应用并将其重新部署到本地 minikube 集群,请执行以下操作:
修改
文件,以输出“It's redeployed!”(应用已重新部署!)。文件会自动保存。main.go
当应用重新构建和部署时,查看
Development sessions (开发会话)视图。像之前那样查看重新部署的应用:
在 Development sessions(开发会话)窗格中,找到 Port Forward URLs(端口转发网址)> service(服务)。
将指针悬停在
go-hello-world-external 上,然后点击 go-hello-world-external(打开网址)。
查看应用日志
在 Cloud Shell Editor 菜单栏中,选择 View(视图)> Command Palette(命令面板)。
搜索 Cloud Code: View Logs(Cloud Code:查看日志),然后点击它。
此时日志查看器会打开。
在
Deployment (部署)中,选择go-hello-world
。这会过滤日志查看器,以仅显示
go-hello-world
应用的日志。切换到应用中显示“It's redeployed!”(应用已重新部署!)的标签页。在浏览器中重新加载该页面,然后切换回 Cloud Shell 标签页。
如需在日志查看器中查看新生成的日志,请点击
“Refresh” (刷新)。
将应用部署到 GKE 集群
将 GKE 集群添加到您可以部署到的集群列表中:
在
Kubernetes 视图中,点击 Add a Cluster to the KubeConfig(将集群添加到 KubeConfig)。在 Choose a platform(选择平台)对话框中,点击 Google Kubernetes Engine。
如果系统提示您启用 Google Cloud API,请点击 Yes(是)。
等待 Cloud Shell Editor 找到您的 Google Cloud 项目中的集群。
在 Create or choose a GKE cluster(创建或选择 GKE 集群)对话框中,选择您创建的集群的名称 hello-world-cluster。
在 Cloud Shell Editor 状态栏中,点击
Cloud Code ,然后选择 Run on Kubernetes(在 Kubernetes 上运行)。当系统提示您为部署请求选择上下文时,请选择 Use current context(使用当前上下文),这会设置为您的 GKE 集群。
在 Choose image repository(选择映像仓库)对话框中,选择 gcr.io/PROJECT_NAME。
Cloud Shell Editor 会将应用构建为容器,并将该容器存储在您选择的仓库中。
当应用重新构建和部署时,查看
Development sessions (开发会话)视图。如需在将应用部署到 GKE 时查看详细的日志消息,请点击 Development sessions(开发会话)视图中的 Deploy to Cluster(部署到集群)节点。
如需查看正在运行的应用,请执行以下操作:
点击 Development sessions(开发会话)标题以关闭视图。
打开
Kubernetes 视图。展开您的 GKE 集群。
点击 Namespaces > default > Services > go-hello-world-external > External IPs(命名空间 > 默认 > 服务 > go-hello-world-external > 外部 IP)。
将指针悬停在 IP 地址上,然后点击
Open URL(打开网址)。
您已成功通过 IDE 创建和部署 GKE 应用。
后续步骤
查看展示 Google Cloud 产品使用情况的代码示例。
在 IDE 中安装 Cloud Code
清理相关资源以避免产生结算费用。 如果您打算学习其他教程,请等到完成这些教程后再进行清理。您可以在大多数 GKE 教程中使用示例 Kubernetes 集群。