Cert Manager
2904 ワード
1 register->生成fulldomain 2.dnsレコードの追加_acme-challenge.targetdomain.com cname fulldomain 3. regiseterの結果acmednsが作成する.jsonファイル、フォーマットは以下の通りです
{
"taomiao.store": {
"username": "ec953ce2-a147-4980-816a-9fd820b086da",
"password": "HqJxoWxm7bVsA12prMOJFlakouNGNs39v0AZIlP3",
"fulldomain": "e214d520-19c9-4d32-858d-99818ea41654.auth.acme-dns.io",
"subdomain": "e214d520-19c9-4d32-858d-99818ea41654",
"allowfrom": []
}
}
kubectl create secret generic acme-dns --from-file acmedns.jsonの異なるドメイン名はこのregiseterアカウントを構成することができ、対応するdnsレコードを構成し、acmednsを維持することができる.jsonファイルでいいです.
apiVersion: certmanager.k8s.io/v1alpha1
kind: Issuer
metadata:
name: letsencrypt-staging
namespace: cert-manager
spec:
acme:
server: https://acme-staging-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: letsencrypt-staging
solvers:
- dns01:
acmedns:
host: https://auth.acme-dns.io
accountSecretRef:
name: acme-dns
key: acmedns.json
作成が完了したら、kubectl describeを使用して作成に成功したかどうかを確認します.失敗した場合、詳細な失敗情報が表示されます.本番環境では、次の構成を使用できます.
apiVersion: certmanager.k8s.io/v1alpha1
kind: Issuer
metadata:
name: letsencrypt-prod
namespace: cert-manager
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- dns01:
acmedns:
host: https://auth.acme-dns.io
accountSecretRef:
name: acme-dns
key: acmedns.json
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
name: taomiao-store
namespace: cert-manager
spec:
secretName: taomiao-store-tls
renewBefore: 360h # 15d
commonName: taomiao.store
dnsNames:
- taomiao.store
issuerRef:
name: letsencrypt-staging
kind: Issuer
このファイルを作成すると、cert managerはすぐに証明書の生成プロセスを開始し、kubectl describeコマンドでissuer cert order challengeを表示できます.
リファレンス
Setting up Issuers»Setting up ACME Issuers»Configuring DNS 01 Challenge Providers»ACME-DNSはcert-managerを利用してIngressに無料のHTTPS証明書cert-manager’s documentationを有効にする