Cert-manager: Internal error occurred: failed calling webhook «webhook.cert-manager.io»
При создании сертификата или issuer’a появлялась ошибка
Error from server (InternalError): error when creating "certificate.yaml": Internal error occurred: failed calling webhook "webhook.cert-manager.io": Post https://cert-manager-webhook.cert-manager.svc:443/validate?timeout=30s: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
Вариантом решения было указанием DNS-серверов в конфигурационном файле Docker’a
В файле /etc/docker/daemon.json добавляем
"dns": ["8.8.8.8", "8.8.8.4"],
Интересно, что он резолвит гугловыми dns и почему это помогло?
Post же идет на cert-manager-webhook сервис, который резолвится кубовым dns.
Вообще да, в ишью на гитлабе находил советы отрубить webhook. Но вот это помогло. Наверное руководствовался в тот момент тем, что оно делает запрос https://acme-v02.api.letsencrypt.org/directory но данный запрос должен быть в процессе выпуска сертификата, а не применения манифеста
ps: я в кубе еще достаточно нуб, только изучаю
Столкнулся и решил такую проблему при установке helm chart’a cert-manager’a, имея eks.
webhook отключать в свежих версиях уже нельзя, так что пришлось копать дальше.
В моем случае это был self-signed ClusterIssued, и проблема была в коннекте с кубапи. Решилось добавлением:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
в манифесты деплоймента.
Спасибо!
В моем случае был HetznerCloud (по сути обычные VPS) + FloatIP. Устанавливал манифестами с сайта cert-manager’a