Let’s Encrypt ClusterIssuer pre K3s (staging + production)

Vytvorené: 25. 8. 2025 20:02 Aktualizované: 27. 8. 2025 13:14
Vyriešené
Obsah článku

title: "Let’s Encrypt ClusterIssuer pre K3s (staging + production)"
slug: "k3s-cert-manager-clusterissuer-lets-encrypt"
technologies: ["K3s", "Kubernetes", "cert-manager", "ACME", "Let’s Encrypt"]
tags: ["tls", "lets-encrypt", "acme", "clusterissuer", "cert-manager"]
date_solved: "2025-08-24"

Projekt/Téma: Let’s Encrypt ClusterIssuer pre K3s (staging + production)

  1. Cieľ / Problém na vyriešenie: Centrálna konfigurácia ACME issuerov pre automatické vystavovanie TLS certifikátov.

  2. Použité technológie a nástroje: cert-manager, ACME/Let’s Encrypt, Traefik HTTP-01 challenge.

  3. Kľúčové postupy a konfiguračné kroky:

  • Nainštaluj cert-manager (Helm/manifesty).
  • Vytvor staging a production ClusterIssuer (HTTP-01 challenge cez Traefik).
  • Používaj produkčný issuer v Ingress anotáciách.
  1. Výsledné kódy a skripty:

` apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-staging spec: acme: email: admin@example.com server: https://acme-staging-v02.api.letsencrypt.org/directory privateKeySecretRef: name: letsencrypt-staging-key solvers:

  • http01: ingress: class: traefik

    ---

    apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-prod spec: acme: email: admin@example.com server: https://acme-v02.api.letsencrypt.org/directory privateKeySecretRef: name: letsencrypt-prod-key solvers:

  • http01: ingress: class: traefik `
  1. Zistené problémy a riešenia (Gotchas):
  • Problém: Rate-limity pri testovaní. Riešenie: Testovať cez letsencrypt-staging, až potom prepnúť na prod.
  • Problém: Nesprávny ingress class pre solver → challenge neprejde. Riešenie: Použiť class: traefik a mať Traefik na entrypointe web.
  1. Finálny výsledok / Záver: Fungujúci staging a production issuer; služby môžu jednoducho získavať/obnovovať TLS certifikát cez anotáciu v Ingressi.
Vyriešené: 24. 8. 2025