kuberc (v1beta1)

资源类型

Preference

Preference 存储 KubeRC 配置文件的元素。

字段描述
apiVersion
string
kubectl.config.k8s.io/v1beta1
kind
string
Preference
defaults [必需]
[]CommandDefaults

defaults 允许更改命令的默认选项值。 这对于用户不想每次明确设置选项时特别有用。

aliases [必需]
[]AliasOverride

aliases 允许为现有的 kubectl 命令定义命令别名,并可选择设置默认选项值。 如果别名与内置命令冲突,内置命令始终优先。 在 defaults 部分定义的选项 overrides 不适用于同一命令的别名。 kubectl [ALIAS NAME] [USER_OPTIONS] [USER_EXPLICIT_ARGS] 展开为:

kubectl [COMMAND] # 别名指向的内置命令
        [KUBERC_PREPEND_ARGS]
        [USER_OPTIONS]
        [KUBERC_OPTIONS] # 其余未由用户在 [用户选项] 中传递的选项
        [USER_EXPLICIT_ARGS]
        [KUBERC_APPEND_ARGS]

例如:

- name: runx
  command: run
  options:
  - name: image
    default: nginx
  appendArgs:
  - --
  - custom-arg1

例如,如果用户调用 "kubectl runx test-pod" 命令, 这将被展开为 "kubectl run --image=nginx test-pod -- custom-arg1"

- name: getn
  command: get
  options:
  - name: output
    default: wide
  prependArgs:
  - node
  • "kubectl getn control-plane-1" 扩展为 "kubectl get node control-plane-1 --output=wide"
  • "kubectl getn control-plane-1 --output=json" 扩展为 "kubectl get node --output=json control-plane-1"
  • credentialPluginPolicy
    CredentialPluginPolicy

    credentialPluginPolicy 设置的是一种策略,控制可以执行 client-go 中的哪个凭证插件(如果有的话)。 它必须是 { "","AllowAll","DenyAll","Allowlist" } 中的一个。 如果策略是 "",那么它会回退到 "AllowAll"(这是为了保持向后兼容性所必需的)。 如果策略是 DenyAll,不允许任何凭证插件运行。如果策略是 Allowlist, 只有符合 credentialPluginAllowlist 字段中指定标准的插件才能运行。

    credentialPluginAllowlist
    []AllowlistEntry

    `credentialPluginAllowlist` 是 AllowList 条目的列表。 如果其中任何一个条目匹配,则相关的可执行文件可以执行。 也就是说,结果是对 credentialPluginAllowList 列表中所有条目的逻辑“或”操作。 如果策略不是 "Allowlist",则此列表**不得**提供。

    例如 credentialPluginAllowlist:

    • name: cloud-provider-plugin
    • name: /usr/local/bin/my-plugin 在上面的例子中,用户允许凭证插件 cloud-provider-plugin (在 PATH 中的某个位置找到), 以及在确定路径 /usr/local/bin/my-plugin 下找到的插件。

    AliasOverride

    出现在:

    AliasOverride 存储别名定义。

    字段描述
    name [必需]
    string

    name 是别名的名称,只能包含字母字符。如果别名与内置命令冲突, 将使用内置命令。

    command [必需]
    string

    command 是要执行的单个或一组命令,例如 "set env" 或 "create"。

    prependArgs [必需]
    []string

    prependArgs 存储如资源名称等参数。 这些参数插入到别名名称之后。

    appendArgs [必需]
    []string

    appendArgs 存储如资源名称等参数。 这些参数附加到 USER_ARGS 中。

    options [必需]
    []CommandOptionDefault

    options 用于存储别名的选项定义。 options 只修改选项的默认值,如果用户显式传递一个值,则使用显式值。

    CommandDefaults

    出现在:

    CommandDefaults 存储命令及其关联参数的默认值。

    字段描述
    command [必需]
    string

    command 指向一个命令,其选项的默认值已更改。

    options [必需]
    []CommandDefaults

    options 是一个选项的列表,存储不同的默认值。

    CommandOptionDefault

    出现在:

    CommandOptionDefault 存储参数的名称和指定的默认值。

    字段描述
    name [必需]
    string

    option 名称(长形式,不带破折号)。

    default [必需]
    string

    在默认值的字符串格式中。它将被 kubectl 解析为选项的兼容值。

    CredentialPluginPolicy

    string 的别名)

    出现在:

    CredentialPluginPolicy 指定的是一种策略,控制执行哪些 client-go 凭证插件(如果有的话)。 取值必须是 { "", "AllowAll", "DenyAll", "Allowlist" } 中的一个。 如果策略是 "",那么它会回退到 "AllowAll"(这是为了保持向后兼容性所必需的)。 如果策略是 DenyAll,不允许任何凭证插件运行。 如果策略是 Allowlist,只有那些满足 credentialPluginAllowlist 字段中指定条件的插件才能运行。 如果策略不是 Allowlist 但是提供了 credentialPluginAllowList,将被视为配置错误。

    最后修改 February 20, 2026 at 4:09 PM PST: [zh-cn]sync kuberc.v1beta1 (d0741aeae2)