kubeconfig 是 Kubernetes 的核心配置文件,用于管理集群访问的认证、连接和上下文切换。它采用 YAML 格式,默认位于 ~/.kube/config,可通过环境变量 KUBECONFIG 或命令行参数 --kubeconfig 指定其他路径。以下是其关键特性和作用详解:
🔑 核心组成
-
集群配置(
clusters)- 功能:定义 Kubernetes 集群的连接信息。
- 字段:
-
server:API Server 的 HTTPS 地址(如https://1.2.3.4:6443)。 -
certificate-authority-data:集群 CA 证书的 Base64 编码,用于验证 API Server 证书的合法性1
4
7
。
-
insecure-skip-tls-verify:是否跳过 TLS 验证(生产环境禁用)1
。
-
-
用户配置(
users)- 功能:存储用户认证凭据,支持多种方式:
-
证书认证:
client-certificate-data(客户端证书)和client-key-data(私钥)1
6
。
-
Token 认证:ServiceAccount 的 Bearer Token
1
4
。
-
用户名/密码(较少用)。
-
- 功能:存储用户认证凭据,支持多种方式:
-
上下文配置(
contexts)-
功能:关联集群、用户和命名空间(Namespace),形成可快速切换的访问环境。
-
字段:
cluster、user、namespace(可选,默认为default)1
7
。
-
-
当前上下文(
current-context)-
功能:指定默认生效的上下文,kubectl 操作基于此上下文执行
1
6
。
-