kubectl не получает все модули
Я использую Google Cloud Platform, и у меня есть два разных кластера Kubernetes, работающих на GKE. Теперь эти кластеры являются зональными и работают в разных зонах. проблема в том, что я использую облачную оболочку,kubectl get pods
получает модули из другого кластера. я использовалkubectl config set-cluster xxx
чтобы установить кластер, но все же отображаются только другие модули.
1 ответ
Если
Вы можете проверить текущий контекст (текущий кластер), который использует kubectl, с помощью:
Обратите внимание, что, как подчеркивается в документации GKE :
Когда вы создаете кластер с помощью консоли Google Cloud или с помощью интерфейса командной строки gcloud на другом компьютере, файл kubeconfig вашей среды не обновляется. Кроме того, если участник проектной группы использует интерфейс командной строки gcloud для создания кластера на своем компьютере, его kubeconfig обновляется, а ваш — нет. Запись kubeconfig содержит:
Ваши учетные данные, указанные в списке аутентификации gcloud, или
Учетные данные приложения по умолчанию, если они настроены.
Чтобы создать контекст kubeconfig в вашей среде, убедитесь, что у вас есть разрешениеContainer.clusters.get. Роль IAM с наименьшими привилегиями, предоставляющая это разрешение, — контейнер.clusterViewer.
Чтобы сгенерировать контекст kubeconfig для определенного кластера, выполните следующую команду:
gcloud container clusters get-credentials CLUSTER_NAME
Замените CLUSTER_NAME именем вашего кластера.
Если целевой кластер не работает в зоне или регионе по умолчанию или если вы не установили зону или регион по умолчанию, вам необходимо указать регион (--region=REGION) или зону (--zone=ZONE) в команда.
Примечание. Запуск get-credentials кластеров контейнеров gcloud также меняет текущий контекст для kubectl на этот кластер.