2.3.3. 载入和合并规则
您可以在为 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
-
- 对于仍缺失的任何信息,将使用默认值,并提示提供其他信息。