Функция gcp python - удаляет пространства имен kubernetes и получает файл .kube / config - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу создать python скрипт в функциях Google - который удаляет заданное пространство имен, но есть 2 проблемы с этим - функция не может получить доступ к глобальному файлу kubeconfig - Я получил ошибки, которых нет Файл конфигурации так: я создал файл конфигурации, загрузил его в корзину и пытался использовать его из корзины в KubeConfig() таким образом:

storage_client = storage.Client()
bucket = storage_client.get_bucket("kyc-tfstate-staging")
blob=bucket.get_blob("storage/config2")
conf = KubeConfig(blob)
print(conf)

Я получил следующий вывод:

kubeconfig.kubeconfig.KubeConfig object at 0x7feee1868a58

после этого я пытаюсь распечатать все имеющиеся у меня пространства имен:

v1 = kubernetes.client.CoreV1Api()
response = v1.list_namespace()
print(response)

, и я получил следующую ошибку:

urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=80): Max retries exceeded with url: /api/v1/namespaces (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fe49e098a90>: Failed to establish a new connection: [Errno 111] Connection refused',))

1 Ответ

0 голосов
/ 22 февраля 2020

Кажется, что это известная проблема, но, как видно, здесь , в версии 3.0 необходимо исправить. Кроме того, в качестве обходного пути вы используете следующее:

    os.environ['KUBERNETES_SERVICE_HOST'] = 'kubernetes'
    config.load_incluster_config()
...