Как настроить несколько конфигураций kubernetes и быстро переключаться между ними - PullRequest
2 голосов
/ 03 апреля 2019

Я работаю с несколькими кластерами Kubernetes в Azure, поэтому мне нужно быстро переключаться с одного кластера на другой без наличия различных файлов на моем пути C:\Users\username\.kube, потому что мне нужно переименовать или заменить файл, когда я хочу изменить надругой.

Ответы [ 3 ]

4 голосов
/ 03 апреля 2019

Я рекомендую вам проверить этот инструмент: kubectxwin

Это Windows-версия инструмента kubectx, которая позволяет многим быстро переключаться между кластерами и пространствами имен внутри кластеров.

4 голосов
/ 04 апреля 2019

Я предлагаю вам использовать следующие инструменты и приемы:

  • Использование asdf для управления несколькими kubectl версиями
  • Установите KUBECONFIG env var для переключения между несколькими kubeconfig файлами
  • Используйте kube-ps1, чтобы отслеживать текущий контекст / пространство имен
  • Используйте kubectx и kubens для быстрого переключения между кластерами / пространствами имен
  • Используйте псевдонимы, чтобы объединить их все вместе

Посмотритев этой статье объясняется, как этого добиться: Использование разных версий kubectl с несколькими кластерами Kubernetes

Я также рекомендую прочитать следующее: Освоение файла KUBECONFIG

1 голос
/ 03 апреля 2019

Вам необходимо иметь все ваши конфигурационные файлы kubernetes.

1.- Создайте файл config по пути C:\Users\username\.kube

2.- Получайте данные из каждого config файл.Например, 3 файла по одному на каждую среду (dev, qa, prod), поэтому давайте слиться в один

Ваш файл должен выглядеть следующим образом:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: some_authority_01
    server: some_server_url_01
  name: some_cluster_name_01

- cluster:
    certificate-authority-data: some_authority_02
    server: some_server_url_02
  name: some_cluster_name_02

- cluster:
    certificate-authority-data: some_authority_03
    server: some_server_url_03
  name: some_cluster_name_03

contexts:
- context:
    cluster: some_cluster_name_01
    user: some_user_01
  name: some_cluster_name_01

- context:
    cluster: some_cluster_name_02
    user: some_user_02
  name: some_cluster_name_02

- context:
    cluster: some_cluster_name_03
    user: some_user_03
  name: some_cluster_name_03

current-context: some_cluster_name_01
kind: Config

preferences: {}
users:
- name: some_user_01
  user:
    client-certificate-data: some_certificate_01
    client-key-data: some_key_01
- name: some_user_02
  user:
    client-certificate-data: some_certificate_02
    client-key-data: some_key_02
- name: some_user_02
  user:
    client-certificate-data: some_certificate_03
    client-key-data: some_key_03

Примечание :значение текущего контекста может варьироваться, необязательно, чтобы это был первый кластер.

Добавление ярлыков

3.- Добавление ярлыков для Windows 10 для быстрого изменения контекста kubernetes 3.1.- Создайте файл с именем Microsoft.PowerShell_profile.ps1 по пути C:\Users\username\Documents\WindowsPowerShell

3.2 Скопируйте эти данные в файл, который был недавно создан

function See-Contexts{kubectl config get-contexts}
Set-Alias -Name seec -Value See-Contexts


function change-context-01 { kubectl config use-context some_cluster_name_01}
Set-Alias -Name ctx01 -Value change-context-01

function change-context-02 { kubectl config use-context some_cluster_name_02}
Set-Alias -Name ctx01 -Value change-context-02

function change-context-03 { kubectl config use-context some_cluster_name_03}
Set-Alias -Name ctx01 -Value change-context-03

3.3.- Поиск PowerShell в строке поиска в Windows и откройте опцию RUN ISE as Administrator и откройте файл Microsoft.PowerShell_profile.ps1 и запустите файл.

С помощью этого решения вы легко можете перейти из kubernetesкластер с помощью ярлыка.Например, если вы хотите перейти на кластер some_cluster_name_01 , вам нужно всего лишь набрать ctx01.Это полезно, когда у нас есть несколько кластеров kubernetes.

...