你正在查看的文档所针对的是 Kubernetes 版本: v1.28

Kubernetes v1.28 版本的文档已不再维护。你现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本。

kube 配置 (v1)

资源类型

Config

Config 保存以给定用户身份构建连接到远程 Kubernetes 集群所需的信息

字段描述
apiVersion
string
/v1
kind
string
Config
kind
string

来自 pkg/api/types.go TypeMeta 的遗留字段。

apiVersion
string

来自 pkg/api/types.go TypeMeta 的遗留字段。

preferences[必需]
Preferences

preferences保存用于 CLI 交互的一般信息。

clusters[必需]
[]NamedCluster

clusters 是从可引用名称到集群配置的映射。

users[必需]
[]NamedAuthInfo

users 是一个从可引用名称到用户配置的映射。

contexts[必需]
[]NamedContext

contexts 是从可引用名称到上下文配置的映射。

current-context[必需]
string

current-context 是默认情况下你想使用的上下文的名称。

extensions
[]NamedExtension

extensions 保存额外信息。这对于扩展程序是有用的,目的是使读写操作不会破解未知字段。

AuthInfo

出现在:

AuthInfo 包含描述身份信息的信息。这一信息用来告诉 kubernetes 集群你是谁。

字段描述
client-certificate
string

client-certificate 是 TLS 客户端证书文件的路径。

client-certificate-data
[]byte

client-certificate-data 包含用于 TLS 连接的、来自客户端证书的 PEM 编码的数据。 此字段值会覆盖 client-certificate 内容。

client-key
string

client-key 是用于 TLS 连接的客户端密钥文件的路径。

client-key-data
[]byte

client-key-data 包含用于 TLS 连接的、来自客户端密钥文件的 PEM 编码数据。此数据会覆盖 client-key 的内容。

token
string

token 是用于向 kubernetes 集群进行身份验证的持有者令牌。

tokenFile
string

tokenFile 是一个指针,指向包含有持有者令牌(如上所述)的文件。 如果 tokentokenFile 都存在,token 优先。

as
string

as 是要冒充的用户名。名字与命令行标志相匹配。

as-uid
string

as-uid 是要冒充的 UID。

as-groups
[]string

as-groups 是要冒充的用户组。

as-user-extra
map[string][]string

as-user-extra 包含与要冒充的用户相关的额外信息。

username
string

username 是向 Kubernetes 集群进行基本认证的用户名。

password
string

password 是向 Kubernetes 集群进行基本认证的密码。

auth-provider
AuthProviderConfig

auth-provider 给出用于给定 Kubernetes 集群的自定义身份验证插件。

exec
ExecConfig

exec 指定了针对某 Kubernetes 集群的基于 exec 的自定义身份认证插件。

extensions
[]NamedExtension

extensions 保存一些额外信息。这些信息对于扩展程序是有用的,目的是确保读写操作不会破坏未知字段。

AuthProviderConfig

出现在:

AuthProviderConfig 保存特定于某认证提供机制的配置。

字段描述
name[必需]
string

配置选项名称。

config[必需]
map[string]string

配置选项取值映射。

Cluster

出现在:

Cluster 包含有关如何与 Kubernetes 集群通信的信息。

字段描述
server[必需]
string

server 是 Kubernetes 集群的地址(形式为 https://hostname:port)。

tls-server-name
string

tls-server-name 用于检查服务器证书。如果 tls-server-name 是空的,则使用用于联系服务器的主机名。

insecure-skip-tls-verify
bool

insecure-skip-tls-verify 跳过服务器证书的有效性检查。 这样做将使你的 HTTPS 连接不安全。

certificate-authority
string

certificate-authority 是证书机构的证书文件的路径。

certificate-authority-data
[]byte

certificate-authority-data 包含 PEM 编码的证书机构证书。 覆盖 certificate-authority 的设置值。

proxy-url
string

proxy-url 是代理的 URL,该代理用于此客户端的所有请求。 带有 "http"、"https" 和 "socks5" 的 URL 是被支持的。 如果未提供此配置或为空字符串,客户端尝试使用 http_proxyhttps_proxy 环境变量构建代理配置。 如果这些环境变量也没有设置, 客户端不会尝试代理请求。

socks5 代理当前不支持 SPDY 流式端点 (execattachport-forward)。

disable-compression
bool

disable-compression 允许客户端选择不对发往服务器的所有请求进行响应压缩。 当客户端与服务器之间的网络带宽充足时,这对于加快请求(尤其是 list 操作)非常有用, 能够节省进行(服务器端)压缩和(客户端)解压缩的时间。参见 https://github.com/kubernetes/kubernetes/issues/112296。

extensions
[]NamedExtension

extensions 保存一些额外信息。 这些信息对于扩展程序是有用的,目的是确保读写操作不会破坏未知字段。

Context

出现在:

Context 是一个元组,包含对集群 (我如何与某 Kubernetes 集群通信)、用户 (我如何标识自己) 和名字空间(我想要使用哪些资源子集)的引用。

字段描述
cluster[必需]
string

cluster 是此上下文中的集群名称。

user[必需]
string

user 是此上下文的 authInfo 名称。

namespace
string

namespace 是在请求中未明确指定时使用的默认名字空间。

extensions
[]NamedExtension

extensions 保存一些额外信息。 这些信息对于扩展程序是有用的,目的是确保读写操作不会破坏未知字段。

ExecConfig

出现在:

ExecConfig 指定提供客户端凭证的命令。这个命令被执行(以 exec 方式) 并输出结构化的标准输出(stdout),其中包含了凭据。

查看 client.authentication.k8s.io API 组以获取输入和输出的确切格式规范。

字段描述
command[必需]
string

command 是要执行的命令。

args
[]string

args 是执行命令时要传递的参数。

env
[]ExecEnvVar

env 定义了要暴露给进程的额外的环境变量。这些与主机的环境变量以及 client-go 使用的变量一起,用于传递参数给插件。

apiVersion[必需]
string

ExecInfo 的首选输入版本。返回的 ExecCredentials 必须使用与输入相同的编码版本。

installHint[必需]
string

当似乎找不到可执行文件时,将向用户显示此文本。 例如,对于在 Mac OS 系统上安装 foo-cli 插件而言, brew install foo-cli 这可能是不错的 installHint。

provideClusterInfo[必需]
bool

ProvideClusterInfo 决定是否提供集群信息。 这些信息可能包含非常大的 CA 数据,用来作为 KUBERNETES_EXEC_INFO 环境变量的一部分提供给这个 exec 插件。 默认情况下,它被设置为 falsek8s.io/client-go/tools/auth/exec 包提供了用于读取这个环境变量的辅助方法。

interactiveMode
ExecInteractiveMode

interactiveMode 确定此插件与标准输入之间的关系。有效值为:

  • "Never":这个 exec 插件从不使用标准输入;
  • "IfAvailable":这个 exec 插件希望使用标准输入,如果可用的话;
  • "Always":这个 exec 插件需要标准输入以正常运行。

查看 ExecInteractiveMode 值以了解更多详情。

如果 apiVersionclient.authentication.k8s.io/v1alpha1client.authentication.k8s.io/v1beta1, 则此字段是可选的, 且当未设置时默认为 "IfAvailable"。否则,此字段是必需的。

ExecEnvVar

出现在:

ExecEnvVar 用于在执行基于 exec 的凭据插件时要设置的环境变量。

字段描述
name
[必需] string

环境变量名称。

value
[必需]
string

环境变量取值。

ExecInteractiveMode

string 的别名)

出现在:

ExecInteractiveMode 是一个描述 exec 插件与标准输入间关系的字符串。

NamedAuthInfo

出现在:

NamedAuthInfo 将昵称与身份认证信息关联起来。

字段描述
name[必需] string

name 是该 AuthInfo 的昵称。

user[必需]
AuthInfo

user 保存身份认证信息。

NamedCluster

出现在:

NamedCluster 将昵称与集群信息关联起来。

字段描述
name
[必需]

string

name 是此集群的昵称。

cluster
[必需]
Cluster

cluster 保存集群的信息。

NamedContext

出现在:

NamedContext 将昵称与上下文信息关联起来。

字段描述
name
[必需]

string

name 是此上下文的昵称。

context
[必需] Context

context 保存上下文信息。

NamedExtension

出现在:

NamedExtension 将昵称与扩展信息关联起来。

字段描述
name[必需]
string

name 是此扩展的昵称。

extension[必需]
k8s.io/apimachinery/pkg/runtime.RawExtension

extension 保存扩展信息。

Preferences

出现在:

字段描述
colors
bool

是否采用彩色字符编码。

extensions
[]NamedExtension

extensions 保存一些额外信息。 这些信息对于扩展程序是有用的,目的是确保读写操作不会破坏未知字段。

最后修改 October 14, 2023 at 2:46 PM PST: [zh] Tweak localization to kubeconfig v1 reference (58962dfd16)