====== 21. Kubeconfig ======
Kubeconfig - файл, содержащий перечень доступных кластеров, учетных данных и их комбинаций.
Kubeconfig не применяется командой kubectl как другие yaml файлы, а просто кладётся в директорию пользователя с указанием пути к файлу в kubectl.
===== Пример файла kubeconfig =====
apiVersion: v1
kind: Config
clusters:
- name: production
cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443
- name: development
cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443
- name: kubernetes-on-aws
cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443
- name: test-cluster-1
cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443
contexts:
- name: test-user@development
context:
cluster: development
user: test-user
- name: aws-user@kubernetes-on-aws
context:
cluster: kubernetes-on-aws
user: aws-user
- name: test-user@production
context:
cluster: production
user: test-user
- name: research
context:
cluster: test-cluster-1
user: dev-user
users:
- name: test-user
user:
client-certificate: /etc/kubernetes/pki/users/test-user/test-user.crt
client-key: /etc/kubernetes/pki/users/test-user/test-user.key
- name: dev-user
user:
client-certificate: /etc/kubernetes/pki/users/dev-user/developer-user.crt
client-key: /etc/kubernetes/pki/users/dev-user/dev-user.key
- name: aws-user
user:
client-certificate: /etc/kubernetes/pki/users/aws-user/aws-user.crt
client-key: /etc/kubernetes/pki/users/aws-user/aws-user.key
current-context: test-user@development
preferences: {}
===== Просмотр текущего контекста (комбинации кластера и кредов) =====
kubectl config current-config
===== Установить новый файл контекст в kubecontext файле =====
kubectl config --kubeconfig=/root/my-kube-config user-context context-name
===== Использовать определенный kubecontext=====
kubectl COMMAND --kubeconfig=/root/my-kube-config
===== Использовать определенный kubecontext по умолчанию=====
* заменить файл ~/.kube/config
* установить путь в переменной $KUBECONFIG