3.4. 载入和合并规则
在发出 CLI 操作时,CLI 配置的加载和合并顺序遵循这些规则:
使用以下层次结构和合并规则从工作站检索 CLI 配置文件:
-
如果设置了
--config
选项,则只加载该文件。标志可能仅设置为一次,也没有合并发生。 -
如果设置了
$KUBECONFIG
环境变量,则会使用它。变量可以是路径列表,如果将路径合并在一起。修改值后,会在定义该节的文件中对其进行修改。创建值时,会在存在的第一个文件中创建它。如果链中不存在任何文件,则会在列表中创建最后一个文件。 -
否则,将使用 ~/.kube/config 文件,且不会发生合并。
-
如果设置了
要使用的上下文根据以下链中的第一个点击来确定:
-
--context
选项的值。 -
CLI 配置文件中的
current-context
值。 -
此阶段允许一个空值。
-
要使用的用户和集群是决定的。此时,您可能也可能没有上下文;它们基于以下链中的第一个按位置构建,该链为用户运行一次,一次用于集群:
-
用户名的
--user
选项的值以及集群名称的--cluster
选项。 -
如果存在
--context
选项,则使用上下文的值。 -
此阶段允许一个空值。
-
用户名的
要使用的实际集群信息决定。此时,您可能没有集群信息。集群信息的每个信息根据以下链中的第一个点击构建:
以下命令行选项中的任何值:
-
--server
, -
--api-version
-
--certificate-authority
-
--insecure-skip-tls-verify
-
- 如果集群信息和属性的值存在,则使用它。
-
如果您没有服务器位置,则出现错误。
要使用的实际用户信息是确定的。用户使用与集群相同的规则构建,但每个用户只能有一个身份验证技术;冲突的技术会导致操作失败。命令行选项优先于配置文件值。有效命令行选项包括:
-
--auth-path
-
--client-certificate
-
--client-key
-
--token
-
- 对于仍缺失的任何信息,将使用默认值,并提示提供其他信息。