INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / Микроблог / Thingiverse / RSS / GPG

cert-manager can’t resolve new domain to perform HTTP01 challenge

№ 10443 В разделе "Sysadmin" от December 14th, 2019,
В подшивках: , ,

In ingress resource you created new domain to perform HTTP01 challenge and obtain new LE certificate but something goes wrong in log file:

E1214 14:35:06.644315 1 sync.go:183] cert-manager/controller/challenges "msg"="propagation check failed" "error"="failed to perform self check GET request 'http://test.k8s.blindage.org/.well-known/acme-challenge/nmxxZh0K7iXuOnqGRm52PqymHj8YFVpN2MryLfRdVoU': Get http://test.k8s.blindage.org/.well-known/acme-challenge/nmxxZh0K7iXuOnqGRm52PqymHj8YFVpN2MryLfRdVoU: dial tcp: lookup test.k8s.blindage.org on 10.245.0.10:53: no such host" "dnsName"="test.k8s.blindage.org" "resource_kind"="Challenge" "resource_name"="tls-test-k8s-blindage-org-749846670-0" "resource_namespace"="testing" "type"="http-01"

… and this error repeats multiple times without any progress. Its managed Kubernetes in DigitalOcean.

To solve this problem just uncomment these lines in Helm chart of cert-manager to provide your own nameservers:

podDnsPolicy: "None"
podDnsConfig:
  nameservers:
    - "1.1.1.1"
    - "8.8.8.8"

Voila! You got new certificate.

Нет комментариев »

cert-manager пытается выдать сертификат в родительской зоне

№ 10436 В разделе "Sysadmin" от December 13th, 2019,
В подшивках: ,

Предыстория такая, была в DNS A запись code.semantiqo.ru и указывала она на IP балансера kubernetes. Захотел сделать нормально и создать на серверах digitalocean зону code.semantiqo.ru целиком и уже оттуда ей управлять. Захотел – сделал! Добавил в ingress ресурс выдачу сертификата от letsencrypt и затем добавил в панельке хостингера 3 NS записи указывающие на сервера digitalocean и стал ждать когда все само подтащится и заработает.

Время шло и в логах я продолжал видеть обращение к родительскому домену с целью создать челендж записи.

I1212 19:07:55.716799 1 controller.go:129] cert-manager/controller/challenges "level"=0 "msg"="syncing item" "key"="production/tls-code-semantiqo-ru-2352965144-0"
I1212 19:07:55.717716 1 dns.go:104] cert-manager/controller/challenges/Present "level"=0 "msg"="presenting DNS01 challenge for domain" "dnsName"="code.semantiqo.ru" "domain"="code.semantiqo.ru" "resource_kind"="Challenge" "resource_name"="tls-code-semantiqo-ru-2352965144-0" "resource_namespace"="production" "type"="dns-01"
E1212 19:07:56.164072 1 controller.go:131] cert-manager/controller/challenges "msg"="re-queuing item due to error processing" "error"="POST https://api.digitalocean.com/v2/domains/semantiqo.ru/records: 404 The resource you were accessing could not be found." "key"="production/tls-code-semantiqo-ru-2352965144-0

Проверил все ресурсы, даже полностью удалял все секреты и ресурсы и т.д., ничего не помогало, будто cert-manager просто не видит новую зону. И тут меня осенило просто прибить нахер этот гнусный под с гнусным днс кешем. И таки что бы вы могли подумать? Оно заработало! cert manager наконец правильно увидел зону и получил сертификат.

Чтобы окончательно решить эту проблему можно сходить по ссылке и настроиться.

Нет комментариев »

Helm: generate certs for all hosts in ingress.tls

№ 10106 В разделе "Sysadmin" от July 1st, 2019,
В подшивках: , ,

{{- if .Values.ingress.tls }}
  {{- range .Values.ingress.tls }}
      {{- $secretName := .secretName -}}
      {{- range .hosts }}
---
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: {{ $fullName }}
spec:
  acme:
    config:
    - dns01:
        provider: route53
      domains:
      - {{ . }}
  commonName: ""
  dnsNames:
  - {{ . }}
  issuerRef:
    kind: ClusterIssuer
    name: letsencrypt
  secretName: {{ $secretName }}
    {{- end }}
  {{- end }}
{{- end }}

Нет комментариев »

Яндекс.Метрика

Fortune cookie: There was a young lad named McFee Who was stung in the balls by a bee He made oodles of money By oozing pure honey Every time he attempted to pee.