Как программно сгенерировать конфигурацию kubernetes из учетной записи службы GCP с помощью API Python

Я уже нашел способ, используя gcloud CLI.

gcloud auth activate-service-account --key-file=serviceaccount.json
gcloud container clusters get-credentials $clusterName \
    --zone=$zone --project=$project
kubectl config view --minify --flatten

Однако, чтобы устранить зависимость от gcloud cli, есть ли какой-либо программный способ добиться такого же результата, как указано выше? Предпочтительно использование API, представленного в клиентской библиотеке Python от Google.

Мой ожидаемый результат — переносимый файл конфигурации, который можно передать любой команде kubectl --kubeconfig=....


обновление: я обнаружил, что приведенные выше команды приводят к созданию файла конфигурации kube, который по-прежнему зависит от gcloud cli в качестве помощника аутентификации, вероятно, для автоматической обработки истечения срока действия токена. Таким образом, любые обходные пути приветствуются.




Ответы (1)


Я написал сценарий оболочки, который в основном делает именно то, что вы ожидаете.

https://gitlab.com/workshop21/open-source/rbac

person Louis Baumann    schedule 26.09.2018