У меня есть кластер Kubernetes версии 1.15.5 в Azure, где я установил cert-manager версия v0.14.0
Работает нормально с автоматической выдачей, позволяет шифровать сертификаты против действительное имя DNS: MY_DOMAIN , указывающее на внешний IP-адрес входного контроллера.
Я также хотел бы иметь возможность сделать то же самое, например, certbot . Я попытался запустить certbot в моем кластере с:
kubectl run --generator=run-pod/v1 certbot-shell --rm -i --tty --image certbot/certbot:amd64-latest -- -d MY_DOMAIN --manual --preferred-challenges http certonly
Но это не удается с:
Create a file containing just this data:
QAPu****-klNq1RBgY
And make it available on your web server at this URL:
http://MY_DOMAIN/.well-known/acme-challenge/QAPu****-klNq1RBgY
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
Waiting for verification...
Challenge failed for domain MY_DOMAIN
http-01 challenge for MY_DOMAIN
Cleaning up challenges
Some challenges have failed.
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: MY_DOMAIN
Type: unauthorized
Detail: Invalid response from
http://MY_DOMAIN/.well-known/acme-challenge/QAPuDTHa****1qlLLOg
[13.x.x.x]: 404
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
Так что каким-то образом cert-manager автоматически позаботится о создании файл во время испытания и сделать его доступным по адресу:
http://MY_DOMAIN/.well-known/acme-challenge/QAPu****-klNq1RBgY
Но я не уверен, как мне это сделать при использовании certbot или если есть какой-то другой способ сделать это ??
Основываясь на приведенных ниже предложениях, я попытался вместо этого установить Kube le go (0.1.2) (для устаревшего кластера 1.8), но, похоже, произошел сбой:
level=error msg="Error while processing certificate requests: 403 urn:acme:error:unauthorized: Account creation on ACMEv1 is disabled. Please upgrade your ACME client to a version that supports ACMEv2 / RFC 8555. See https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430 for details." context=kubelego
Итак, я попытался обновить до:
https://acme-staging-v02.api.letsencrypt.org/directory
но тогда я получу:
level=error msg="Error while processing certificate requests: Head : unsupported protocol scheme \"\"" context=kubelego
Я нашел:
https://github.com/jetstack/kube-lego/issues/301
Похоже, kube-le go нельзя использовать с ACME версии 2: - (