Я работал над проектом Python с целью взаимодействия с Kubernetes.Одна из проблем, с которыми я столкнулся, - это процесс аутентификации.Подобно этому вопросу, я получаю сообщение об ошибке
google.auth.exceptions.DefaultCredentialsError: Не удалось автоматически определить учетные данные.Пожалуйста, установите GOOGLE_APPLICATION_CREDENTIALS или явно создайте учетные данные и перезапустите приложение.Для получения дополнительной информации, пожалуйста, см. https://cloud.google.com/docs/authentication/getting-started
Я понимаю, что это, вероятно, связано с тем, что я использую pycharm.Однако, когда я запускаю его из терминала, я получаю эту ошибку:
kubernetes.client.rest.ApiException: (403) Причина: запрещенные заголовки ответа HTTP: HTTPHeaderDict ({'Audit-Id': 'XXXXXXXXXXX', 'Content-Type': 'application / json', 'X-Content-Type-Options': 'nosniff', 'Date': 'XXXXXXXXXXXXXXXX', 'Content-Length': 'XXX'})Тело HTTP-ответа: {"kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Failure", "message": "deployments.extensions запрещено: User \"XXXXXXXXXXXXXXXXXXX \ "не удается создать deployments.extensions в пространстве имен \" default \ ": обязательно \" container.deployments.create \ "разрешение.", "Причина": "запрещено", "детали": {"группа": "расширения"," kind ":" deployments "}," code ": 403}
Однако, когда я изменяю свой код с:
os.system(f"gcloud container clusters get-credentials {cluster_name} --zone {zone} --project {project}")
на
os.system(f"gcloud container clusters get-credentials {cluster_name} --zone {zone} --project {project}")
os.system("kubectl run hello-server --image gcr.io/google-samples/hello-app:1.0 --port 8080")
os.system("kubectl delete deployments hello-server")
Я могу авторизоваться, а все остальные функции работают точно так, как и должно быть.Я не понимаю, почему это так.Я думаю, что это, вероятно, признак того, что что-то не так, и хотел бы исправить это, прежде чем продолжить.Кто-нибудь знает, что здесь происходит и как это исправить?