Вопрос или проблема
Я установил gke на тестовый аккаунт и настроил cli.
kuebctl get pods
выдает следующее предупреждение.
W0916 17:23:58.063534 67381 gcp.go:119] ПРЕДУПРЕЖДЕНИЕ: плагин аутентификации gcp устарел в v1.22+, недоступен в v1.26+; используйте вместо этого gcloud.
Чтобы узнать больше, ознакомьтесь с https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
Ресурсов не найдено в стандартном пространстве имен.
Но я уже установил плагин аутентификации gcloud.
sudo apt-get install google-cloud-sdk-gke-gcloud-auth-plugin
Чтение списков пакетов... Готово
Формирование дерева зависимостей
Чтение состояния информации... Готово
google-cloud-sdk-gke-gcloud-auth-plugin уже является самой новой версией (402.0.0-0).
0 обновлено, 0 ново установлено, 0 для удаления и 61 не обновлено.
Но почему я все еще получаю это предупреждение?
Есть ли предложения, как это исправить?
gke-gcloud-auth-plugin --version
Kubernetes v1.24.0-alpha+f42d1572e39979f6f7de03bd163f8ec04bc7950d
Вам нужно убедиться, что вы установили плагин и установили:
USE_GKE_GCLOUD_AUTH_PLUGIN=True
Для вашей среды. Затем выполните:
gcloud container clusters get-credentials ...
Предупреждение должно исчезнуть после этого при выполнении любых команд kubectl.
Ответ или решение
Проблема с устаревшим плагином аутентификации GCP в GKE
При использовании Google Kubernetes Engine (GKE) вы можете столкнуться с предупреждением о том, что плагин аутентификации GCP устарел, и начиная с версии 1.26 он будет недоступен. Это предупреждение появляется, когда вы выполняете команду kubectl get pods
.
В вашем случае вы получили следующее предупреждение:
W0916 17:23:58.063534 67381 gcp.go:119] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.26+; use gcloud instead.
Причины предупреждения
Предупреждение связано с изменениями в аутентификации Kubernetes, в том числе заменой устаревшего плагина GCP на новый метод аутентификации с использованием gcloud
. Установка пакета google-cloud-sdk-gke-gcloud-auth-plugin
является правильным шагом, однако для успешного его применения необходимо правильно настроить окружение.
Решение проблемы
Для того чтобы избавиться от данного предупреждения, следует выполнить следующие шаги:
-
Убедитесь, что плагин установлен:
Вы уже проверили наличие плагина с помощью команды:sudo apt-get install google-cloud-sdk-gke-gcloud-auth-plugin
Если плагин установлен, перейдите к следующему шагу.
-
Настройка окружения:
Убедитесь, что вы создали и экспортировали переменную окруженияUSE_GKE_GCLOUD_AUTH_PLUGIN
:export USE_GKE_GCLOUD_AUTH_PLUGIN=True
Чтобы эта настройка сохранялась при каждом входе в систему, добавьте эту строку в файл
~/.bashrc
или~/.bash_profile
:echo "export USE_GKE_GCLOUD_AUTH_PLUGIN=True" >> ~/.bashrc source ~/.bashrc
-
Получение учетных данных кластера:
После настройки переменной окружения выполните команду для получения учетных данных кластера:gcloud container clusters get-credentials <имя_вашего_кластера> --zone <ваша_зона> --project <ваш_проект>
Замените
<имя_вашего_кластера>
,<ваша_зона>
и<ваш_проект>
на соответствующие значения вашего кластера. -
Проверка команды
kubectl
:
После выполнения вышеуказанных шагов, попробуйте снова выполнить команду:kubectl get pods
Если настройка была выполнена правильно, предупреждение должно исчезнуть.
Заключение
Использование нового плагина аутентификации GCP является необходимым шагом для поддержания совместимости с более новыми версиями Kubernetes. Следуя вышеуказанным шагам, вы сможете устранить предупреждение и использовать kubectl
без каких-либо затруднений. При возникновении дополнительных вопросов или проблем не стесняйтесь обращаться к документации Google Cloud или поддержке, чтобы получить помощь.