У меня есть кластер kubernetes на GKE.Даже после правильной установки KUBECONFIG = "/ tmp / kubeconfigxvz", когда я выполняю kubectl get pods
, команда не выполняется со следующей ошибкой
bash-4.3# kubectl get pods
Unable to connect to the server: error executing access token command
"/google-cloud-sdk/bin/gcloud config config-helper --format=json": err=exit
status 1 output= stderr=ERROR: (gcloud.config.config-helper) You do not
currently have an active account selected.
Please run:
$ gcloud auth login
to obtain new credentials, or if you have already logged in with a
different account:
$ gcloud config set account ACCOUNT
to select an already authenticated account to use.
Когда я устанавливаю CLOUDSDK_CONFIG=/tmp/customdir
, команда начинает работать.
Как мне добиться того же с помощью клиента go?
=== UPDATE ===
При создании клиента go я передаю правильный указатель файла этой функции clientcmd.BuildConfigFromFlags("", *tmpKubeConfigFile)
где tmpKubeConfigFile
указывает на /tmp/kubeconfigxvz
.Но я думаю, что этого недостаточно, go-клиенту также нужна дополнительная информация из каталога CLOUDSDK_CONFIG
, я думаю, что ему нужна информация о сеансе или учетные данные или что-то еще.
Можно ли передать этот CLOUDSDK_CONFIG и при создании go-client?
BuildConfigFromFlags
, который принимает на вход указатель на файл kubeconfig и возвращает объект config
, который может бытьпередан kubernetes.NewForConfig(config)
, который создает клиента.Возможно ли это или существует аналогичная функция для передачи CLOUDSDK_CONFIG и возврата go-client или создания конфигурации?