本页面简要介绍了使用 Cloud Code 进行 Kubernetes 开发。
在 Cloud Code 中使用 Kubernetes Explorer
借助 Kubernetes Explorer,您可以直接从 IDE 访问有关集群、节点、工作负载等的信息。您还可以设置当前上下文、流式传输和查看日志、打开交互式终端,以及使用 Kubernetes Explorer 查找资源说明。
![Cloud Code Kubernetes Explorer](https://cloud.google.com/static/code/docs/shell/images/shell-dev-cluster-k8s-sections.png?hl=zh-cn)
Cloud Code 使用默认的 kubeconfig 文件来检索 Kubernetes 资源,该文件位于 MacOS/Linux 上的 $HOME/.kube
目录下或 Windows 上的 %USERPROFILE%\.kube
下。您可以从 Kubernetes Explorer 中切换或添加新的 Kubeconfig 文件。Kubeconfig 文件是包含 Kubernetes 集群详细信息、证书和用于向集群进行身份验证的密钥令牌的 YAML 文件。
如需使用默认 kubeconfig 以外的 kubeconfig 文件,请参阅使用 kubeconfig 文件指南。
访问 Kubernetes Explorer
如需查看和管理您的 Kubernetes 资源,请点击访问“开发会议”部分
使用“开发”会话运行或调试 Kubernetes 应用,或使用模板创建示例应用。
当您启动开发或调试会话时,开发会话部分会显示结构化日志记录视图。
基本操作
Kubernetes Explorer 由 kubectl
提供支持。只要您已将 kubectl
配置文件配置为访问集群,就可以使用 Kubernetes Explorer 添加集群,浏览集群的所有可用命名空间、资源和节点,无论它们处于活跃还是非活跃上下文中。
集群部分
可用的常规 Kubernetes 操作(可通过 Kubernetes Explorer 集群部分中的图标访问)包括:
- 添加 向 KubeConfig 添加集群
- refresh 刷新 Kubernetes Explorer
- question_mark 在网络浏览器中打开 Cloud Code Kubernetes 文档
“开发讲座”部分
可用的 Kubernetes 操作(可通过 Kubernetes 开发会话部分中的图标访问)包括:
打开 Kubernetes 示例应用
- play_arrow 运行应用
调试应用
复制资源名称
您可以将任何 Kubernetes 资源名称(包括容器和集群名称)复制到剪贴板。如需复制资源名称,请右键点击该资源,然后选择 Copy resource name。
![使用右键菜单复制资源名称](https://cloud.google.com/static/code/docs/shell/images/shell-copy-resource-name.png?hl=zh-cn)
刷新资源
Kubernetes Explorer 会监控更改并自动刷新以反映更新。如需强制刷新任何 Kubernetes 资源以获取其最新信息,请右键点击该资源,然后选择刷新。
![使用右键菜单刷新 Pod](https://cloud.google.com/static/code/docs/shell/images/shell-refresh-resource.png?hl=zh-cn)
描述资源
如需显示任何非集群资源的详细信息,请右键点击该资源,然后选择描述。一个终端会打开并显示资源信息。![在右键菜单中描述资源详情](https://cloud.google.com/static/code/docs/shell/images/shell-describe-resource.png?hl=zh-cn)
自定义启动配置
如需配置应用的运行方式,您可以自定义 skaffold.yaml
文件。
查看远程 YAML
如需查看集群中某个资源的 YAML,请选择该资源或将鼠标悬停在该资源上,以显示![](https://cloud.google.com/static/code/docs/vscode/images/vscode-edit-yaml-icon.png?hl=zh-cn)
![](https://cloud.google.com/static/code/docs/vscode/images/vscode-view-yaml-icon.png?hl=zh-cn)
![使用“查看 YAML”图标打开的 Kubernetes 服务 YAML](https://cloud.google.com/static/code/docs/shell/images/shell-view-yaml.png?hl=zh-cn)
查看日志
您可以将 Kubernetes 资源中的日志流式传输到 Kubernetes Explorer 控制台并查看它们的进度,以监控其进度。
如需打开日志查看器,请按Ctrl/Cmd+Shift+P
或点击查看 > Command Palette 打开命令面板,然后选择 Cloud Code: View Logs。
日志查看器会在新的编辑器标签页中打开。
如需查看 Pod 或容器的日志,请右键点击相应资源,然后选择查看日志。
启动终端
对于 Pod 和容器,您可以右键点击 Pod 或容器并选择获取终端,以打开交互式终端。
![打开交互式终端](https://cloud.google.com/static/code/docs/shell/images/shell-get-terminal.png?hl=zh-cn)
特定于资源的操作
Kubernetes Explorer 显示集群、命名空间、节点、工作负载(如 Deployment、副本集、Pod 和容器)、服务和入站流量、配置(如 Secret 和 ConfigMap)以及存储空间(如卷)。使用 Kubernetes Explorer,您可以对其中一些资源执行独特的操作。
集群
- 将集群添加到 Kubeconfig:添加现有 GKE 或 minikube 集群,或者创建新集群。
系统会显示“Add Cluster”对话框,您可以选择要使用的项目和集群,也可以创建新集群。
![选择集群平台](https://cloud.google.com/static/code/docs/shell/images/shell-cluster-choose-platform.png?hl=zh-cn)
设置为活跃集群:将指定集群设置为活跃集群,以使配置的
kubectl
上下文默认访问此集群。
Kubernetes Explorer 会自动刷新,您会在相应集群旁边看到 Kubernetes 符号。
如果集群配置了多个上下文,您将能够选择其中一个可用上下文设置为当前上下文。
命名空间
设置为活跃命名空间:将命名空间设置为活跃命名空间,以使配置的
kubectl
上下文默认访问此命名空间。右键点击要设置为活跃状态的命名空间。
请注意,Kubernetes 上下文是一种快捷方式,可让您快速访问集群中的命名空间。上下文通常会在您启动 minikube 或 GKE 集群时自动创建。如果您没有看到指定命名空间的设置为当前上下文选项,但想要为其创建上下文,请在终端中使用 kubectl config set-context
命令设置包含您的首选集群、用户和命名空间的上下文。
Pod
- 查看日志:在 Kubernetes Explorer 控制台中查看来自 Pod 的日志。
获取终端:在 Kubernetes Explorer Console 中为 pod 获取终端。
此外,运行中 pod 的标签旁边会显示彩色状态标记:
- 红色:表示 pod 处于失败状态
- 黄色:表示 pod 正在启动或终止
- 绿色:表示 pod 运行状况良好且正在运行
![Pod 旁边的绿色对勾标记,表示健康状况良好](https://cloud.google.com/static/code/docs/vscode/images/vscode-pod-status-green.png?hl=zh-cn)
容器
部署
查看日志:在 Kubernetes Explorer 控制台中查看来自部署的日志。
实时部署的标签和当前副本数/副本总数旁边带有彩色状态标记:
- 黄色:表示 Deployment 无最低可用性或存在映像问题。
- 绿色:表示 Deployment 运行状况良好且具有最低可用性。
![表示运行状况的绿色部署图标](https://cloud.google.com/static/code/docs/vscode/images/vscode-deploy-status-green.png?hl=zh-cn)
节点
集群节点的名称旁边会显示彩色状态标记:
- 黄色:表示节点存在资源问题,例如内存或磁盘可用性。
- 绿色:表示节点运行状况良好。
自定义资源定义 (CRD)
Kubernetes Explorer 列出了您的集群上安装和可用的所有自定义资源定义 (CRD):
![Explorer 中的自定义资源定义列表](https://cloud.google.com/static/code/docs/vscode/images/vscode-crd-list.png?hl=zh-cn)
后续步骤
- 通过代码示例创建和部署 Kubernetes 应用,开始使用 Cloud Code for Cloud Shell for Kubernetes。
- 使用文件同步和热重载加快开发速度。
- 在 Cloud Code 中调试应用