使用 kubeconfig 文件来组织有关集群、用户、命名空间和身份认证机制的信息。 kubectl
命令行工具使用 kubeconfig 文件来查找选择集群所需的信息,并与集群的 API 服务器进行通信。
Note: 用于配置集群访问的文件称为“kubeconfig 文件”。 这是引用配置文件的通用方法,并不意味着有一个名为
kubeconfig
的文件
Warning: 只使用来源可靠的 kubeconfig 文件。使用特制的 kubeconfig 文件可能会导致恶意代码执行或文件暴露。 如果必须使用不受信任的 kubeconfig 文件,请首先像检查 shell 脚本一样仔细检查它。
默认情况下,kubectl
在 $HOME/.kube
目录下查找名为 config
的文件。 你可以通过设置 KUBECONFIG
环境变量或者设置 --kubeconfig
参数来指定其他 kubeconfig 文件。
假设你有多个集群,并且你的用户和组件以多种方式进行身份认证。比如:
使用 kubeconfig 文件,你可以组织集群、用户和命名空间。你还可以定义上下文,以便在集群和命名空间之间快速轻松地切换。
通过 kubeconfig 文件中的 context 元素,使用简便的名称来对访问参数进行分组。 每个 context 都有三个参数:cluster、namespace 和 user。 默认情况下,kubectl
命令行工具使用 当前上下文 中的参数与集群进行通信。
选择当前上下文
kubectl config use-context
KUBECONFIG
环境变量包含一个 kubeconfig 文件列表。 对于 Linux 和 Mac,列表以冒号分隔。对于 Windows,列表以分号分隔。 KUBECONFIG
环境变量不是必要的。 如果 KUBECONFIG
环境变量不存在,kubectl
使用默认的 kubeconfig 文件,$HOME/.kube/config
。
如果 KUBECONFIG
环境变量存在,kubectl
使用 KUBECONFIG
环境变量中列举的文件合并后的有效配置。
要查看配置,输入以下命令:
kubectl config view
如前所述,输出可能来自 kubeconfig 文件,也可能是合并多个 kubeconfig 文件的结果。
以下是 kubectl
在合并 kubeconfig 文件时使用的规则。
否则,如果设置了 KUBECONFIG 环境变量,将它用作应合并的文件列表。根据以下规则合并 KUBECONFIG 环境变量中列出的文件:
否则,使用默认的 kubeconfig 文件, $HOME/.kube/config
,不进行合并。
--context
命令行参数。current-context
。这种场景下允许空上下文。
--user
或者 --cluster
。这种场景下用户和集群可以为空。
--server
、--certificate-authority
和 --insecure-skip-tls-verify
,使用命令行参数。--client-certificate
、--client-key
、--username
、--password
和 --token
,使用命令行参数。user
字段。kubeconfig 文件中的文件和路径引用是相对于 kubeconfig 文件的位置。 命令行上的文件引用是相对于当前工作目录的。 在 $HOME/.kube/config
中,相对路径按相对路径存储,绝对路径按绝对路径存储。
你可以在 kubeconfig
文件中设置 proxy-url
来为 kubectl
使用代理,例如:
apiVersion: v1
kind: Config
proxy-url: https://proxy.host:3128
clusters:
- cluster:
name: development
users:
- name: developer
contexts:
- context:
name: development
属主与附属在Kubernetes中,一些对象是其他对象的属主(Owner)。例如,ReplicaSet是一组Pod的属主。具有属主的对象是属主的附属...
调度框架FEATURESTATE:Kubernetes1.19[stable]调度框架是面向Kubernetes调度器的一种插件架构,它为现有的调度器添加了一组新的...
日志架构应用日志可以让你了解应用内部的运行状况。日志对调试问题和监控集群活动非常有用。大部分现代化应用都有某种日志记录机...
对kubeadm进行故障排查与任何程序一样,你可能会在安装或者运行kubeadm时遇到错误。本文列举了一些常见的故障场景,并提供可帮助...
使用Cilium提供NetworkPolicy本页展示如何使用Cilium提供NetworkPolicy。关于Cilium的背景知识,请阅读Cilium介绍。在开始之前你...