本页面简要介绍了使用 Cloud Code 进行 Kubernetes 开发。
在 Cloud Code 中使用 Kubernetes Explorer
借助 Kubernetes Explorer,您可以直接从 IDE 访问有关集群、节点、工作负载等的信息。您还可以设置当前上下文、流式传输和查看日志、打开交互式终端,以及使用 Kubernetes Explorer 查找资源说明。
![Cloud Code Kubernetes Explorer](https://cloud.google.com/static/code/docs/intellij/images/kubernetes-explorer-panel.png?authuser=7&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 Explorer(可从右侧的侧边栏访问)。或者,您也可以使用工具 > Cloud Code > Kubernetes > 查看集群浏览器来访问集群。当您启动开发或调试会话时,开发会话部分会显示结构化日志记录视图。
基本操作
Kubernetes Explorer 由 kubectl
提供支持。只要您已将 kubectl
配置文件配置为访问集群,就可以使用 Kubernetes Explorer 添加集群,浏览集群的所有可用命名空间、资源和节点,无论它们处于活跃还是非活跃上下文中。
可用的常规 Kubernetes 操作(可通过 Kubernetes Explorer 中的图标访问)包括:
基于示例创建新的 Kubernetes 应用
刷新探索器
在网络浏览器中打开 Cloud Code Kubernetes 文档
其他常见的 Kubernetes 调试操作(可通过 Kubernetes Explorer 中的相应图标访问)包括:
运行当前的运行/调试配置。
在调试模式下启动运行配置。
停止正在运行的调试会话。
复制资源名称
您可以将任何 Kubernetes 资源名称(包括容器和集群名称)复制到剪贴板。如需复制资源名称,请右键点击该资源,然后选择 Copy resource name。
![使用右键菜单复制资源名称](https://cloud.google.com/static/code/docs/intellij/images/copy-resource-name.png?authuser=7&hl=zh-cn)
刷新资源
Kubernetes Explorer 会监控更改并自动刷新以反映更新。如需强制刷新任何 Kubernetes 资源以获取其最新信息,请右键点击该资源,然后选择刷新。
![使用右键菜单刷新 Pod](https://cloud.google.com/static/code/docs/intellij/images/refresh-resource.png?authuser=7&hl=zh-cn)
![Kubernetes Explorer 刷新按钮](https://cloud.google.com/static/code/docs/intellij/images/kubernetes-explorer-refresh.png?authuser=7&hl=zh-cn)
描述资源
如需显示任何非集群资源的详细信息,请右键点击该资源,然后选择描述。资源信息显示在 Kubernetes Explorer 控制台面板中。如需查看资源详细信息,您还可以点击任何资源。如果元数据已附加,则可以在 Kubernetes Explorer 的“资源详细信息”面板中找到元数据。
Skaffold 选项
- Skaffold configuration - 选择
skaffold.yaml
配置文件。如果您的项目中有skaffold.yaml
,系统将自动检测到这种情况。 - Deployment profile - 从
skaffold.yaml
文件中配置的可用选项中选择配置文件。 - Environment variables - 用于配置要传递给 Skaffold 部署进程的其他环境变量。您还可以将 Skaffold 标志配置为要在此字段中使用的环境变量。如需查看可用 Skaffold 环境变量的完整列表,请参阅 Skaffold CLI 参考文档。
- Verbosity - 用于设置输出的详尽程度,可选的值为:
trace
、debug
、info
、warn
、error
或fatal
。默认的详尽程度为warn
。
Kubernetes 选项
部署上下文 - 表示在其中部署应用的 Kubernetes 上下文。如果未指定部署上下文,则默认行为是部署到当前系统上下文(如果存在)。
如果您不想部署到当前上下文,请在“运行/调试”设置的“部署”部分下选择:
- 在本地部署到 minikube 集群 - 启动由 Cloud Code 管理的 minikube 集群以运行您的应用,并在部署停止后停止集群。如果 minikube 集群已在运行,则 Cloud Code 会使用现有的 minikube 集群进行部署。
切换上下文并部署到 - 在部署时,将系统上的当前上下文更改为指定上下文。
Delete deployments when finished - 在进程终止时删除 Kubernetes 部署。这是默认行为。或者,您也可以切换此设置以防止部署被删除
自定义启动配置
如需配置应用的运行方式,您可以自定义 skaffold.yaml
文件。
查看远程 YAML
直接从 Kubernetes Explorer 查看集群中资源的 YAML。导航到 Kubernetes Explorer 中的资源(例如 Pod),右键点击资源名称,然后选择查看远程 YAML。与指定资源对应的 YAML 文件会在新的编辑器标签页中打开。
查看日志
您可以将 Kubernetes 资源中的日志流式传输到 Kubernetes Explorer 控制台并查看它们的进度,以监控其进度。
构建应用并以常规模式或开发模式运行后,您将能够在 IDE 中监控从应用流式传输的日志。
您还可以导航到 Kubernetes Explorer 来查看来自特定服务的日志。
如需选择要查看其日志的资源,例如 Pod、Deployment 或 Service,请执行以下操作:
右键点击该资源,然后选择 Stream Logs。或者,您也可以流式传输在 Pod 中运行的各个容器的日志。
这会将日志输出到 Kubernetes Explorer Console。
如需查看部署中资源的状态,请执行以下操作:
pod、Deployment 和节点的状态:这些 Kubernetes 资源的标签旁边将带有彩色状态标记;红色代表失败状态,黄色代表启动/终止/警告状态,绿色代表所需的正常状态。
部署资源说明:您可以对已部署的资源运行
kubectl describe
,通过右键点击并选择描述来显示其详细信息。
启动终端
对于 Pod 和容器,您可以右键点击 Pod 或容器并选择获取终端,以打开交互式终端。
![打开交互式终端](https://cloud.google.com/static/code/docs/intellij/images/get-terminal.png?authuser=7&hl=zh-cn)
特定于资源的操作
Kubernetes Explorer 显示集群、命名空间、节点、工作负载(如 Deployment、副本集、Pod 和容器)、服务和入站流量、配置(如 Secret 和 ConfigMap)以及存储空间(如卷)。使用 Kubernetes Explorer,您可以对其中一些资源执行独特的操作。
您可以从侧边栏访问 Kubernetes Explorer,也可以转到 Tools > Cloud Code > Kubernetes > View Cluster Explorer。
如需显示已部署资源的详细信息,请右键点击 Kubernetes Explorer 中的资源标签,然后点击描述。
集群
- 添加 Google Kubernetes Engine 集群:添加现有的标准 GKE 集群或 Autopilot GKE 集群,或者点击 Kubernetes Explorer 中的 + 添加 GKE 集群来创建新集群。
系统会显示“Add Cluster”对话框,您可以选择要使用的项目和集群,也可以创建新集群。
完成后,点击确定,并通过 Kubernetes Explorer 访问所选集群及其底层资源。设置为活跃上下文:将指定集群设置为活跃状态,以使配置的
kubectl
上下文默认访问此集群。
Kubernetes Explorer 会自动刷新,您会在相应集群旁边看到 Kubernetes 符号。
如果集群配置了多个上下文,您将能够选择其中一个可用上下文设置为当前上下文。
![使用 Kubernetes Explorer 从多个上下文中选择和设置活跃集群](https://cloud.google.com/static/code/docs/intellij/images/multiple-context.png?authuser=7&hl=zh-cn)
命名空间
设置为当前上下文:将某一命名空间设置为活跃状态,以使配置的
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/intellij/images/kubernetes-explorer-healthy-pod.png?authuser=7&hl=zh-cn)
容器
![使用容器的右键菜单流式传输其日志,以将日志输出到 Kubernetes Explorer Console](https://cloud.google.com/static/code/docs/intellij/images/stream-container-logs.png?authuser=7&hl=zh-cn)
部署
查看日志:在 Kubernetes Explorer 控制台中查看来自部署的日志。
实时部署的标签和当前副本数/副本总数旁边带有彩色状态标记:
- 黄色:表示 Deployment 无最低可用性或存在映像问题。
- 绿色:表示 Deployment 运行状况良好且具有最低可用性。
![表示运行状况的绿色部署图标](https://cloud.google.com/static/code/docs/intellij/images/deploy-status-green.png?authuser=7&hl=zh-cn)
节点
集群节点的名称旁边会显示彩色状态标记:
- 黄色:表示节点存在资源问题,例如内存或磁盘可用性。
- 绿色:表示节点运行状况良好。
自定义资源定义 (CRD)
Kubernetes Explorer 列出了您的集群上安装和可用的所有自定义资源定义 (CRD):
![Explorer 中的自定义资源定义列表](https://cloud.google.com/static/code/docs/intellij/images/crd-list.png?authuser=7&hl=zh-cn)
后续步骤
- 通过代码示例创建和部署 Kubernetes 应用,开始使用 Cloud Code for IntelliJ for Kubernetes。
- 使用文件同步和热重载加快开发速度。
- 在 Cloud Code 中调试应用