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)
-
Cieľ / Problém na vyriešenie: Centrálna konfigurácia ACME issuerov pre automatické vystavovanie TLS certifikátov.
-
Použité technológie a nástroje: cert-manager, ACME/Let’s Encrypt, Traefik HTTP-01 challenge.
-
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.
- 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 `
- Zistené problémy a riešenia (Gotchas):
- Problém: Rate-limity pri testovaní.
Riešenie: Testovať cez
letsencrypt-staging, až potom prepnúť naprod. - Problém: Nesprávny ingress class pre solver → challenge neprejde.
Riešenie: Použiť
class: traefika mať Traefik na entrypointeweb.
- 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.