Как, если я буду взаимодействовать с разными кластерами kubernetes в разных сеансах терминалов без необходимости постоянно переключать контексты? - PullRequest
0 голосов
/ 29 октября 2019

Я сейчас тестирую различия ролей, поэтому у меня есть контекст для каждой настройки роли.

Терминальная сессия Администратор , я хочу иметь возможность использовать контекст Admin в одной сессиипоэтому я могу обновлять правила по мере необходимости.

В терминальной сессии Пользователь , я хочу иметь возможность проверить эту роль через ее контекст.

(Примечание: я на EKS, поэтому роли сопоставляются с ролями IAM)

Ответы [ 4 ]

1 голос
/ 29 октября 2019

Вот несколько советов по управлению несколькими kubectl контекстами:

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

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

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

1 голос
/ 29 октября 2019

Ну, я идиот.

В выводе --help для kubectl нет ответа, однако для справки на странице справки есть вывод.

Все, что нужно сделать, это выбросить --contextфлаг в их команду.

0 голосов
/ 29 октября 2019

Мне всегда нравится kubectx как способ быстрого переключения контекста. Если вы правильно настроили свои контексты с помощью aws-iam-authenticator, например, так:

users:
- name: kubernetes-admin
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      args:
        - "token"
        - "-i"
        - "<cluster_id>"
        - "-r"
        - "<admin_role_arn>"
- name: kubernetes-user
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      args:
        - "token"
        - "-i"
        - "<cluster_id>"
        - "-r"
        - "<user_role_arn>"

Это должно позволить вам легко переключать контексты. ( Примечание: Это предполагает ситуацию типа предполагаемой роли. Вместо этого вы также можете передать AWS_PROFILE aws-iam-authenticator.)

0 голосов
/ 29 октября 2019

Вы можете создать копию своего файла контекста, расположенного в ~/.kube/config, и в 2 различных оболочках указать на 2 различных файла конфигурации, используя export KUBECONFIG=/path/to/kubeconfig1 в первом и export KUBECONFIG=/path/to/kubeconfig2 во втором. Вы можете редактировать эти файлы, чтобы выбрать 2 различных контекста.

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

...