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 只修改选项的默认值,如果用户显式传递一个值,则使用显式值。
|
AllowlistEntry
出现在:
AllowlistEntry 是 allowlist 中的一个条目。
对于每个 allowlist 项,至少需要一个非空字段。
所有字段均为空的结构体被视为配置错误。
每个字段都是一个执行条件。
如果指定了多个字段,则必须满足所有指定字段的条件。
也就是说,单个条目的结果是该条目中所有指定字段对应的检查结果的逻辑与运算结果。
| 字段 | 描述 |
|---|
name [必需]
string | name 匹配首先使用 exec.LookPath
解析插件和允许列表条目中名称的绝对路径。
它会对两者分别调用,并且解析结果字符串必须相等。
如果其中任何一个 exec.LookPath 调用导致错误,
则 name 检查将被视为失败。
已弃用:请改用 command。 |
command [必需]
string | command 匹配首先使用 exec.LookPath
解析插件和允许列表条目中名称的绝对路径。
它会对两者分别调用,并且解析结果字符串必须相等。
如果其中任何一个 exec.LookPath 调用导致错误,
则 command 检查将被视为失败。
|
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,将被视为配置错误。