はじめに
- 自宅に k8s クラスタを立てたので,その証明書の取得方法・更新方法をメモしておく.
cert-manager
- cert-manager1を利用して,Let’s Encrypt から自動的に証明書を取得する.
手順
-
cert-manager のインストール
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0/cert-manager.yaml
-
Issuer の作成
- cloudflare を利用しているので,以下の設定を反映させる.
apiVersion: v1 kind: Secret metadata: name: cloudflare-api-token-secret labels: app: "cert-manager" app.kubernetes.io/name: "cert-manager" app.kubernetes.io/instance: "cert-manager" type: Opaque stringData: api-token: <API_TOKEN> --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: cloudflare-issuer labels: app: "cert-manager" app.kubernetes.io/name: "cert-manager" app.kubernetes.io/instance: "cert-manager" spec: acme: email: [email protected] server: https://acme-staging-v02.api.letsencrypt.org/directory privateKeySecretRef: name: cloudflare-api-token-secret solvers: - dns01: cloudflare: apiTokenSecretRef: name: cloudflare-api-token-secret key: api-token selector: dnsNames: - "example.com" - "*.example.com"