WebStorm 2025.2 Help

Kubernetes

Kubernetes 是一种用于部署、扩展以及管理容器化应用的容器编排引擎。 安装并启用适用于 WebStorm 的 Kubernetes 插件,以添加以下用于管理 Kubernetes 集群的功能:

  • Kubernetes 资源配置文件提供编码辅助功能。

  • Helm 图表和模板提供编码辅助功能。 有关更多详细信息,请参阅 专属 Helm 页面

  • 根据自定义资源定义(CRD)规范验证自定义资源。

  • Kustomize 文件提供编码辅助功能:字段和本地文件路径补全、快速文档以及在 Kustomize 文件与补丁之间导航。 相关 Kustomize 文件列表显示在编辑器中打开的 Kustomize 补丁顶部。

  • 从 WebStorm 直接与集群交互:使用 服务工具窗口查看 Kubernetes 集群的所有资源、跳转到相关资源定义、查看运行在 Pod 上的容器日志以及更多内容。

Kubernetes 插件支持 Kubernetes 版本 1.16 到 1.33(您可以 选择适用的版本)。

安装 Kubernetes 插件

此功能依赖于 Kubernetes 插件,您需要安装并启用它。

  1. Ctrl+Alt+S 打开设置,然后选择 插件

  2. 打开 Marketplace 选项卡,找到 Kubernetes 插件并点击 安装 (如果提示,请重启 IDE)。

指定 kubectl 的自定义路径

WebStorm 使用根据 PATH 环境变量确定的默认 kubectl(如果您使用 helm ,则包括 helm)可执行文件。

如果您在自定义目录中安装了 kubectl,可以手动指定其路径。

  1. 设置 对话框(Ctrl+Alt+S )中,选择 构建、执行、部署| Kubernetes

  2. kubectl 可执行文件路径 字段中指定 kubectl 可执行文件的路径。

  3. 点击 测试 以检查文件位置。 如果未找到,您可以手动检查文件位置,或点击 安装 ,WebStorm 将下载并安装缺失的软件。

Kubernetes 设置窗口

使用自定义 Kubernetes 配置文件

集群信息存储在 kubeconfig 文件中。 WebStorm 会检测默认的 kubeconfig 文件,通常位于 $HOME/.kube/config (此位置可由 KUBECONFIG 环境变量更改)。 如果您希望 WebStorm 从自定义的 kubeconfig 文件(不仅是默认文件)中获取集群信息,可在 IDE 设置中指定它们。 您可以全局应用该设置,也可以为每个项目使用不同的文件。

  1. 设置 对话框(Ctrl+Alt+S )中,选择 构建、执行、部署| Kubernetes

  2. 配置 下,点击 添加 kubeconfig 并指定 kubeconfig 文件的路径。

  3. 如果您希望在所有项目中使用该配置文件,请在 作用域 列中选择 全局。 若只在当前项目中使用该配置文件,请保留 项目 范围。

添加文件后,WebStorm 会验证其语法并报告任何错误。

Kubeconfig 配置

配置 Kubernetes API 版本

WebStorm 提供配置键值的 自动补全 、通过边距图标导航至相关选择器和定义、用于检查已弃用值和必需键的专项检查,以及其他辅助功能。 这些功能依赖于您使用的 API 版本。 Kubernetes 插件支持 Kubernetes 的 1.16 到 1.33 版本。 默认情况下,WebStorm 会将其设置为最新版本。 但如果您的资源使用的是较早版本,您可以进行更改。

  1. 设置 对话框(Ctrl+Alt+S )中,选择 语言与框架|Kubernetes

  2. 根据需要更改 Kubernetes API 版本Kustomize 版本 选项。

资源配置文件

Kubernetes 插件为 YAML 格式的资源配置文件提供了丰富的支持,而对 JSON 格式则仅提供基本支持。

支持的功能

功能

YAML

JSON

自动补全

支持

支持

快速文档

支持

支持

检查和快速修复

  • 无效、缺失或重复的键

  • 不可编辑(只读)的键和资源

  • 已弃用的键和资源

  • 无效的整数和枚举键值

  • 无效、缺失或重复的属性

实时模板

常见资源类型的预定义模板

无预定义实时模板

智能补全

支持

不支持

自定义资源定义

支持

不支持

标签定义与选择器

使用边距图标导航、查找用法及重命名

不支持

原始 Kubernetes 模型的增强

在适用情况下使用枚举代替普通字符串

WebStorm 通过以下必填字段识别 Kubernetes 资源配置文件:

  • apiVersion :标识对象表示的版本化架构

  • kind :标识资源类型(例如 ServicePodDeployment 等)

如果 YAML 或 JSON 文件中包含上述两个字段,WebStorm 将使用相应的 Kubernetes 图标标记该文件,并启用所有可用功能。

创建资源文件

借助 WebStorm,您可以快速为 Kubernetes 中最常见的资源创建配置文件。

  1. 项目 工具窗口 Alt+1 中,右键点击文件夹,选择 新建 或按下 Alt+Insert ,然后选择 Kubernetes 资源

  2. 名称 字段中输入您的资源名称,并从列表中选择文件模板。

    新建 Kubernetes 资源窗口

    这将基于所选的 文件模板 创建一个新文件。

  3. 单击 应用图标 在集群中创建资源。 如需更改目标集群,请单击 选择 context

或者,在 YAML 文件中,您可以使用预定义的 live templates ,例如:

  • kconfigmap :Kubernetes ConfigMap

  • kcronjob :Kubernetes CronJob

  • kdeployment :Kubernetes Deployment

  • kingress :Kubernetes Ingress

  • kpod :Kubernetes Pod

  • kresource :从头开始创建 Kubernetes 资源

  • kservice :Kubernetes Service

Kubernetes 代码模板

禁用 Kubernetes 架构验证

WebStorm 会根据 Kubernetes API 架构验证您的 Kubernetes 文件。 包括检查是否包含必要的键或资源的可能类型。

如果您的文件包含 apiVersionkind ,但它不是 Kubernetes 文件,您可以禁用此类验证。 您可以在 设置|编辑器|检查|Kubernetes 中隐藏检查并更改其范围和严重性。 或者,您可以使用特殊指令标记文件,以在其中禁用验证:

  • 在文件开头添加 # nonk8s

  • 或者,如果您已经收到有关未知资源的警告,请在 问题 工具窗口中右键点击该资源并选择 显示快速修复|将此文件标记为非 Kubernetes

管理集群

使用 Services 工具窗口查看集群、切换命名空间并修改集群资源。

添加集群

如需与 Kubernetes 集群交互,可在 服务 工具窗口中添加集群。

  1. 打开 Services 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按 Alt+8

  2. 服务 工具窗口中右键点击某个 Kubernetes 节点并选择 添加集群。 或者,单击 添加按钮 并选择 Kubernetes| 添加集群

    接下来,选择要添加的 Kubernetes 集群的来源:

    • 从默认目录导入 :从默认位置获取集群(通常为 $HOME/.kube/config)。

    • 从自定义 kubeconfig 导入 :从计算机上选择任意 kubeconfig 文件。

    • 粘贴 kubeconfig 内容 :将 kubeconfig 内容粘贴到打开的文本区域中。

    选择 Kubernetes context 来源
  3. 在打开的 添加集群 窗口中,选择要添加的集群并单击 添加集群

    添加集群窗口

添加的 Kubernetes 集群将在 服务 工具窗口中显示。 右键单击某个集群并选择 在新标签页中打开 ,即可在单独的标签页中打开每个集群。

要实时监控集群资源,您可以 连接到集群

连接至集群

连接到集群以在 IDE 中与其交互:查看日志、预览资源、查看配置文件,并在资源被修改时获取实时更新。 在未连接集群的情况下,您可以在编辑器中 修改其资源

  1. 打开 服务工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按 Alt+8

  2. 如果在 服务 工具窗口中没有集群,请 添加集群

  3. 右键单击集群并选择 连接集群

连接集群

编辑 kubeconfig

kubeconfig 文件包含有关集群、用户、命名空间和身份验证的信息。

  1. 打开 服务工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按 Alt+8

  2. 选择一个集群并点击工具栏上的 在编辑器中打开 kubeconfig 文件在编辑器中打开kubeconfig 文件)。 在 服务 工具窗口中右键单击任意 Kubernetes 对象时,也可以使用此操作。

    这样将在编辑器的新标签页中打开 kubeconfig 文件。 要更改此操作默认打开的文件,您可以在 Path to kubeconfig file 中指定其他文件路径。

当您更改 kubeconfig 文件时,配置会自动重新加载。 您也可以通过右键单击集群或任意 Kubernetes 对象并选择 更多(M)|自动重新加载配置 ,手动重新加载或禁用自动重新加载。

重新加载配置

在命名空间之间切换

Kubernetes 命名空间可让您在集群中逻辑隔离资源。 借助 WebStorm ,您可以快速在命名空间之间切换。

  1. 打开 服务工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按 Alt+8

  2. 右键单击集群或任何资源,选择 命名空间 (或点击工具栏上的 命名空间图标 ),然后选择所需的命名空间。

    要查看所有命名空间的资源,请选择 所有命名空间

    命名空间上下文菜单

选择当前集群

当前集群是指在编辑器和 项目 工具窗口中与资源交互时默认设置的集群。

在本地修改或创建 资源文件时,您可以点击 选择 context 选择要应用资源的集群。 您也可以提前进行选择。

  1. 打开 服务工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按 Alt+8

  2. 右键单击集群并选择 设为当前集群

    在服务中设置当前集群

    或者,选择一个集群并点击工具栏上的

此设置也可在 IDE 设置中找到,位于 语言与框架|Kubernetes

修改集群资源

  1. 打开 Services 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按下 Alt+8

  2. 右键点击资源并选择 查看YAML

    这将在编辑器的新选项卡中打开所选资源的配置文件。 当您更改字段时,被修改的行将在边栏中高亮显示。 您可以点击边栏中高亮显示的区域以快速预览或回滚更改。

    查看差异
  3. 点击 应用图标 以将更改应用到当前集群和命名空间。

当您修改资源配置文件时,右上角会显示一个工具栏。 它允许您应用更改、删除资源、预览差异并回滚更改。

查看资源详细信息

WebStorm 可让您快速查看 Kubernetes 资源的详细信息,而无需手动运行任何命令。

  • 服务 工具窗口中,选择一个资源以查看其详细信息。

删除资源

您可以通过以下任一方式删除资源:

  • 服务 工具窗口中,右键点击资源并选择 删除(当前集群未配置)

  • 服务 工具窗口中,选择一个资源并点击工具栏上的 删除资源删除资源)。

  • 如果资源 YAML 文件已在编辑器中打开,将鼠标悬停其上并点击 删除资源。 您也可以在此点击 选择 context 以更改想要删除资源所对应的集群。

端口转发

在 Kubernetes 中使用端口转发可将本机电脑上的本地端口流量重定向至 Kubernetes pod 上的端口。 WebStorm 可帮助您管理端口转发:您可以将一个或多个本地端口转发至远程端口,查看集群中(由 WebStorm 建立)所有活动转发会话,并停止或重新启动转发会话。

  1. 打开 Services 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按下 Alt+8。 右键点击目标 pod 并选择 转发端口

  2. 转发端口 对话框中:

    • 地址 字段中列出要监听的地址。 使用逗号分隔多个值。

    • 端口 字段中按 <local port>:<remote port> 格式指定端口。 例如, 8888:5000 表示监听本地端口 8888 并将数据转发至/来自远程端口 5000

      WebStorm 会基于相应 Kubernetes 清单中定义的值自动建议端口映射。 如果清单中指定的端口已被本地机器使用,WebStorm 将递增建议值,直到找到可用端口。

      如果指定的值小于 1024 ,则会在建议的本地端口值上加 8000。

      如果您手动指定了当前正被占用的本地端口,WebStorm 会在您开始转发前通知您。

  3. 点击 转发

端口转发

管理端口转发会话

  • 要查看所有活动端口转发会话,请在 服务 工具窗口中展开您 Kubernetes 集群下的 网络|端口转发

    端口转发会话列表
  • 要终止端口转发会话,请右键点击它并选择 停止端口转发 ,或点击工具栏上的 停止端口转发

  • 要重新启动端口转发会话,请右键点击它并选择 重新启动端口转发 ,或点击工具栏上的 停止端口转发

创建密文

借助 WebStorm,您可以快速创建 Kubernetes Secrets

  1. 打开 Services 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按下 Alt+8

  2. 选择一个集群并展开 配置

  3. 右键点击 密文 节点并选择 创建新密钥。 或者,选择 密文 节点并点击工具栏上的 添加到书签

  4. 在打开的 创建新密钥 窗口中,指定 secret 名称、类型和命名空间。 为加快 secret 创建过程,WebStorm 会根据所选的 secret 类型 添加所需的数据或注解键。

  5. 数据注解 部分中,点击 为已有键输入值,或点击 添加图标 并选择提供值的方式:

    • 手动添加 手动输入值。

    • 使用文件数据 选择一个文件(例如 SSH 密钥文件或 Docker config.json )来使用文件内容作为值。

    创建新密文窗口

您可以在 服务 工具窗口的 配置 下查看所有的 Secrets。 若要编辑 secret,请右键点击它并选择 编辑密文 ,或点击工具栏上的

创建 Secret 后,您可以在 Pod 配置文件中的 secretName 字段中开始输入其名称。 这将触发自动补全功能,列出集群或项目中的可用 Secret 名称。

保持集群信息为最新状态

为了使 WebStorm 与您的集群保持同步,请使用以下操作:

  • Reload Configuration 获取 kubeconfig 文件中的最新更改。

  • Refresh Resources 获取 Kubernetes 资源的最新更改。 此操作通常会自动执行,前提是您具备所需权限。

重新加载配置

默认情况下,当您更改 kubeconfig 文件时,配置将自动重新加载。 您仍然可以手动重新加载它。

  1. 打开 Services 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按下 Alt+8

  2. 右键点击集群并选择 更多|重新加载配置

如果您想禁用自动重新加载,请取消选中 自动重新加载配置 选项。

您也可以在 IDE 设置(Ctrl+Alt+S )中的 构建、执行、部署| Kubernetes|自动重新加载配置 检查此设置。

手动刷新集群资源

如果您已 连接到集群 ,对其资源所做的任何更改都会自动反映在 IDE 中。 如果您的资源未自动更新(由于您的 集群角色缺少权限), 服务 工具窗口中会显示一条禁止自动刷新 的消息。 在此情况下,您可以手动刷新资源。

  1. 打开 服务 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按 Alt+8

  2. 右键点击一组资源并选择 刷新 或点击 Ctrl+F5

查看日志

使用 WebStorm,您可以查看集群日志和选定资源的日志。 您可以根据日期、来源及日志消息中的特定值进行筛选。

在编辑器中打开资源日志

  1. 打开 服务 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按 Alt+8

  2. 选择日志来源的方式如下:

    • 要查看所有资源的日志,请选择您的 Kubernetes 集群,然后点击 跟随日志图标关注日志 ),工具栏位于 服务 工具窗口顶部。

      查看日志
    • 要查看某个特定资源的日志,请选择该资源并点击 跟随日志图标关注日志 ),工具栏位于 服务 工具窗口顶部。 或者,右键点击资源并选择 关注日志

      如果 pod 中包含多个容器,请从显示的容器列表中选择要跟踪日志的容器。

      查看日志

该操作将使用 --follow=true 标志实时跟踪所选资源的日志,并在新的编辑器标签页中打开。

管理日志

查看集群日志或选定资源日志时,您可以使用主工具栏(1)或浮动工具栏(2)来操作日志输出。 浮动工具栏可快速访问常用操作。

查看 Kubernetes 日志
  • 滚动至末尾图标滚动到末尾 ):跳至日志输出末尾。

  • 软换行图标自动换行 ):调整编辑器大小时对日志条目启用软换行。

  • 下载日志图标下载筛选后的日志 ):下载当前在编辑器中打开的日志,已应用的 筛选器也将被考虑在内。

  • 清除日志图标清除显示的日志 ):清除编辑器中显示的日志条目。 此操作仅影响当前视图。 重新打开同一资源的日志时,条目将重新出现。

筛选日志

打开日志后,您可以在编辑器顶端使用以下筛选器来细化日志列表:

  • 打开模式匹配 ):输入或选择期望日志数据匹配的值或模式。 例如,如果日志中包含级别信息,您可以选择 warnerror 或其他级别值,只显示对应级别的日志。

  • 选择日志来源 ):选择要显示日志的集群资源。

  • 按日期和时间筛选 ):选择要显示日志的时间范围。

  • 选择日志字段 ):选择是否显示日志时间戳、来源及消息内容。

  • 在编辑器标签页顶部的输入字段中输入日志消息中的内容。 点击 使用正则表达式,点击 区分搜索的大小写。

  • 筛选日志
  • 清除所有日志筛选器 ):清除全部已应用的筛选器(来源除外),显示所有日志。

下载单个容器的日志

  1. 打开 服务 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 或按 Alt+8

  2. 选择资源,点击右侧工具栏上的 下载日志图标下载日志 )以保存日志文件。

配置日志保存选项

您可以在 IDE 设置(Ctrl+Alt+S )中 构建、执行、部署|Kubernetes|日志 下配置日志保存选项:

  • 如果希望将日志保存到 Scratches 以外的位置,请在 下载日志的路径 中指定目录。 或者选择 下载前询问日志的保存位置 ,每次保存日志时都提示您选择保存位置。

  • 如果希望在文件名中包含日志时间戳,请选择 将时间戳附加到日志文件名

    自定义资源定义支持

    如果通过 自定义资源扩展 Kubernetes 集群,WebStorm 可以使用 自定义资源定义 (CRD)规范对其进行验证。

    指定 CRD 规范的路径

    1. Ctrl+Alt+S 打开设置,然后选择 语言与框架|Kubernetes

    2. 点击 添加按钮 ,然后选择本地 CRD 文件或输入 URL。 然后点击 确定(O)

    使用 上移按钮下移按钮 重新排序 CRD 文件列表。 此操作定义了冲突定义的优先级:如果某项定义存在于多个文件中,WebStorm 将使用优先级最低的版本。

    默认情况下,CRD 仅应用于当前项目。 若希望某个 CRD 可用于此 IDE 实例打开的任何项目,请将 作用域: 选项更改为 IDE

    要从正在运行的 Kubernetes 集群加载 CRD,请启用 使用活动集群中的API 架构(如果可用)

    您可以在 Kubernetes 节点下的 Services 工具窗口中查看当前集群的 CRD,包括其所有已应用的资源。

    Kubernetes 插件支持以下类型的 CRD 文件:

    YAML 格式的 CustomResourceDefinition 文件

    以下示例展示了一个简单的 CustomResourceDefinition 规范,用于定义一个种类为 CronTab 的自定义资源 stable.example.com/v1。 用于标识该资源的必填字段包括 metadata.namespec.groupspec.versionsspec.names

    apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: crontabs.stable.example.com # Obligatory field to identify the resource spec: group: stable.example.com # Obligatory field to identify the resource versions: # Obligatory field to identify the resource - name: v1 served: true storage: true scope: Namespaced names: # Obligatory field to identify the resource plural: crontabs singular: crontab kind: CronTab shortNames: - ct validation: openAPIV3Schema: # Schema for validating custom objects properties: spec: properties: cronSpec: type: string pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$' # not supported for validation replicas: type: integer minimum: 1 # not supported for validation maximum: 10 # not supported for validation

    JSON 格式的 OpenAPI v2.0 架构

    以下示例展示了一个简单的 OpenAPI v2.0 架构,其中包含对种类为 Config 的自定义资源 sample/v1 的 CRD 规范。 自定义资源的根定义必须包含指定了 group、version 和 kind 的 x-kubernetes-group-version-kind 字段。 在示例中, root.Definition 对象使用 build 属性来引用 some.Definition 对象。

    { "swagger": "2.0", "info": { "title": "Sample Schema", "version": "sample/v1" }, "paths": {}, "definitions": { "some.Definition": { "description": "Example of a definition.", "properties": { "someProperty": { "type": "string" } } }, "root.Definition": { "description": "This is the root definition for the resource", "properties": { "build": { "$ref": "#/definitions/some.Definition" } }, "x-kubernetes-group-version-kind": [ { "group": "sample", "kind": "Config", "version": "v1" } ] } } }

    CRD 验证限制

    WebStorm 不支持以下 OpenAPI v3 架构功能:

    • multipleOf

    • maximum

    • exclusiveMaximum

    • minimum

    • exclusiveMinimum

    • maxLength

    • minLength

    • pattern

    • maxItems

    • minItems

    • uniqueItems

    • maxProperties

    • minProperties

    • allOf

    • oneOf

    • anyOf

    • not

    • format

    • default

    • nullable

    • readOnly

    • writeOnly

    • xml

    • externalDocs

    • example

    • deprecated

    提高效率的技巧

    如果您经常使用此处所述的功能,以下提示可能会对您有所帮助:

    分配快捷键

    您可以为 Kubernetes 操作分配快捷键。

    1. 设置 对话框(Ctrl+Alt+S )中,选择 按键映射

    2. 在搜索字段中键入 kubernetes ,然后双击某个操作为其设置快捷键。

    另外,您还可以使用 查找操作 对话框 Ctrl+Shift+A ,键入所需操作,然后按 Alt+Enter

    例如,您可以为 与集群交互 分配快捷键,以便在 修改资源配置文件时快速打开上下文菜单。

    配置代码折叠

    默认情况下,WebStorm 使用 代码折叠 将 Helm 模板中的值引用和 Kubernetes 配置文件中的定义呈现为实际值。 您可以单击该值以展开,或按 Ctrl+NumPad +Ctrl+NumPad - 来切换折叠。 如果您希望默认展开这些引用和值定义,请执行以下操作:

    1. 设置 对话框(Ctrl+Alt+S )中,选择 编辑器| 常规| 代码折叠

    2. 代码折叠 页面中,取消选中所需的复选框:

      • Kubernetes:Helm 模板中的值引用

      • Kubernetes:YAML 文件中的 EnvVar 定义

      • Kubernetes:YAML 文件中的 ExecAction 定义

    最后修改日期: 2025年 9月 26日