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