Kubernetes

Настройка подключения к двум разным кластерам k8s

1. Установка kubectl

Если kubectl еще не установлен, выполните следующие шаги:

  1. Скачайте kubectl:
    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
  2. Сделайте kubectl исполняемым:
    chmod +x kubectl
  3. Переместите kubectl в директорию, включенную в PATH:
    sudo mv kubectl /usr/local/bin/

2. Настройка конфигурационного файла kubeconfig

Конфигурационный файл kubeconfig используется для хранения информации о кластерах, пользователях и контекстах. Обычно он находится в ~/.kube/config.

Пример конфигурационного файла kubeconfig:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNDQ...
    server: https://cluster1.example.com
  name: cluster1
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNDQ...
    server: https://cluster2.example.com
  name: cluster2
contexts:
- context:
    cluster: cluster1
    user: user1
  name: context1
- context:
    cluster: cluster2
    user: user2
  name: context2
current-context: context1
kind: Config
preferences: {}
users:
- name: user1
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNDQ...
    client-key-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNDQ...
- name: user2
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNDQ...
    client-key-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNDQ...

3. Добавление нового кластера

  1. Получите конфигурационный файл нового кластера:

    Обычно администратор кластера предоставляет вам конфигурационный файл или команду для его получения.

  2. Импортируйте конфигурацию нового кластера:
    kubectl config set-cluster cluster2 --server=https://cluster2.example.com --certificate-authority=path/to/ca.crt
    kubectl config set-credentials user2 --client-certificate=path/to/client.crt --client-key=path/to/client.key
    kubectl config set-context context2 --cluster=cluster2 --user=user2

4. Переключение между кластерами

  1. Просмотрите доступные контексты:
    kubectl config get-contexts
  2. Переключитесь на нужный контекст:
    kubectl config use-context context2

5. Проверка подключения

  1. Проверьте, что вы подключены к нужному кластеру:
    kubectl get nodes

Пример использования

  1. Добавление нового кластера:
    kubectl config set-cluster cluster2 --server=https://cluster2.example.com --certificate-authority=path/to/ca.crt
    kubectl config set-credentials user2 --client-certificate=path/to/client.crt --client-key=path/to/client.key
    kubectl config set-context context2 --cluster=cluster2 --user=user2
  2. Переключение на новый контекст:
    kubectl config use-context context2
  3. Проверка подключения:
    kubectl get nodes

После выполнения этих шагов вы сможете управлять несколькими Kubernetes кластерами с одного ноутбука. Вы можете легко переключаться между кластерами, используя команду kubectl config use-context.