Я в одной лодке с вами - приложения, развернутые в GKE для работы, и личные проекты, развернутые в моей личной учетной записи GCP.
gcloud
хранит список зарегистрированных учетных записей, между которыми вы можете переключаться для связи со связанными проектами. Посмотрите на эти команды:
gcloud auth login
gcloud auth list
gcloud config set account
gcloud projects list
Для работы с конкретным c проектом под одной из ваших учетных записей вам необходимо настроить эту конфигурацию через gcloud config set project PROJECT_ID
kubectl
имеет список "контекстов" на вашем локальном компьютере в ~/.kube/config
. Текущий контекст - это кластер, с которым вы хотите запускать команды - аналогично активному аккаунту / проекту в gcloud
.
В отличие от gcloud
это кластер, заданный c и хранящий информацию о конечной точке кластера, пространствах имен по умолчанию, текущем контексте и т. Д. c. Вы можете иметь контексты из GCP, AWS, on-prem ... везде, где у вас есть кластер. У нас есть разные кластеры для dev, qa и prod (таким образом, разные контексты), и мы переключаемся между ними на тонну. Взгляните на [проект kubectx] [1] https://github.com/ahmetb/kubectx для более простого способа переключения между контекстами и пространствами имен.
kubectl
будет использовать ключи от любой учетной записи GCP, которую вы вошли в систему с кластером, который установлен в качестве текущего контекста. т. е. из вышеприведенной ошибки: если ваша активная учетная запись для gcloud
является вашей личной, но попытайтесь составить список модулей из кластера на работе, вы получите ошибку. Вам нужно либо установить активную учетную запись / проект для gcloud
на свой рабочий адрес электронной почты, либо изменить контекст kubectl
на кластер, который находится в вашей личной учетной записи / проекте GCP.