kubectl не получает все модули

kubectl не получает все модули

Я использую Google Cloud Platform, и у меня есть два разных кластера Kubernetes, работающих на GKE. Теперь эти кластеры являются зональными кластерами и работают в разных зонах. Проблема в том, что когда я использую Cloud Shell, я kubectl get podsполучаю поды из другого кластера. Я использовал kubectl config set-cluster xxxдля настройки кластера, но все равно другие поды отображаются только.

решение1

Если kubectl get podsвозвращаются модули из другого кластера, ваша конфигурация kubectl, вероятно, указывает на другой кластер.

Проверить текущий контекст (текущий кластер), используемый kubectl, можно с помощью: kubectl config current-context.

Обратите внимание, что,как подчеркивается в документации GKE:

Когда вы создаете кластер с помощью консоли Google Cloud или с помощью gcloud CLI с другого компьютера, файл kubeconfig вашей среды не обновляется. Кроме того, если участник команды проекта использует gcloud CLI для создания кластера со своего компьютера, его kubeconfig обновляется, а ваш — нет. Запись kubeconfig содержит либо:

Ваши учетные данные, как показано в списке аутентификации gcloud, или

Учетные данные приложения по умолчанию, если они настроены.

Чтобы сгенерировать контекст kubeconfig в вашей среде, убедитесь, что у вас есть разрешение container.clusters.get. Наименее привилегированная роль IAM, которая предоставляет это разрешение, — container.clusterViewer.

Чтобы сгенерировать контекст kubeconfig для определенного кластера, выполните следующую команду:

gcloud container clusters get-credentials CLUSTER_NAME

Замените CLUSTER_NAME на имя вашего кластера.

Если целевой кластер не работает в зоне или регионе по умолчанию или если вы не установили зону или регион по умолчанию, вам необходимо указать регион (--region=REGION) или зону (--zone=ZONE) в команде.

Примечание: запуск команды gcloud container clusters get-credentials также изменяет текущий контекст для kubectl на этот кластер.

Связанный контент