Передача файла учетной записи облачной службы Google в traefik - PullRequest
0 голосов
/ 15 января 2019

Согласно https://docs.traefik.io/configuration/acme/

Я создал секрет вот так:

kubectl --namespace=gitlab-managed-apps create secret generic traefik-credentials \ --from-literal=GCE_PROJECT=<id> \ --from-file=GCE_SERVICE_ACCOUNT_FILE=key.json \

И передал его на рулевую диаграмму, используя: --set acme.dnsProvider.$name=traefik-credentials

Однако я все еще получаю следующую ошибку:

{"level":"error","msg":"Unable to obtain ACME certificate for domains \"traefik.my.domain.com\" detected thanks to rule \"Host:traefik.my.domain.com\" : cannot get ACME client googlecloud: Service Account file missing","time":"2019-01-14T21:44:17Z"}

1 Ответ

0 голосов
/ 15 января 2019

Я не знаю, почему / если traefik использует GCE_SERVICE_ACCOUNT_FILE переменную. Все инструменты Google и сторонние интеграции используют переменную окружения GOOGLE_APPLICATION_CREDENTIALS для этой цели (и все клиенты Google API автоматически выбирают эту переменную). Похоже, что traefik мог принять плохое решение, называя это чем-то другим.

Я рекомендую вам взглянуть на спецификации Pod модуля traefik (поля volumes и volumeMounts, чтобы увидеть, правильно ли секрет прикреплен к модулю).

Если вы будете следовать этому руководству https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform, вы сможете узнать, как подключать учетные записи службы IAM к любому Pod. Поэтому, возможно, вы можете объединить это с самой таблицей Шлема и выяснить, что вам нужно сделать, чтобы сделать эту работу.

...