๐ก ํต์ฌ ์์ฝ (Executive Summary)
๋ณธ ๊ฐ์ด๋๋ manif cert manager clusterIssure.yaml ํต์ฌ ๊ฐ์ด๋ ๋ฐ ์ค์ ์ํคํ ์ฒ์ ํต์ฌ ๊ฐ๋ , ์ค์ ๊ตฌ์ฑ ๋ช ๋ น์ด ๋ฐ ์ํคํ ์ฒ ๋ฒ ์คํธ ํ๋ํฐ์ค๋ฅผ ๋ค๋ฃน๋๋ค. ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ฐ ์ธํ๋ผ ์์ง๋์ด๋ง ์ค๋ฌด์ ์ฆ์ ํ์ฉ ๊ฐ๋ฅํ๋๋ก ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌํ์ต๋๋ค.
Reference & Guidelines (NOTE)
– ClusterIssuer๋ Namespace์ ๊ตญํํ์ง ์๊ณ ํด๋ฌ์คํฐ ์ ์ฒด์์ ์ธ์ฆ์ ๋ฐํ์ ์ธ์ฆ๊ธฐ๊ด์ ์ญํ ์ ํ๋ค.
– Issuer๋ Namespace์ ๋ณด๋ง ์ถ๊ฐํ๋ค.
Self-Sign Issuer
bash
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: selfsigned-issuer
spec:
selfSigned: {}
CA Issuer
bash
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: ca-issuer
spec:
ca:
secretName: ca-key-pair #cert-manager์ค์น ๋ค์์คํ์ด์ค ๋ด
HTTP01
http://{your-domain}/.well-known/acme-challenge/ ๋งํฌ ๋ด์ ์ธ์ฆํ์ผ
bash
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod #์ด์์ฉ !!! ์ค์ ์กด์ฌํ๋ ๋๋ฉ์ธ์ ๋ํ์ฌ ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ๊ธฐ ์ํ Issuer ์ด๋ฏ๋ก ์ฃผ์
spec:
acme:
email: #๋์ ์ด๋ฉ์ผ ์
๋ ฅ
privateKeySecretRef:
name: letsencrypt-prod #์์ฑ๋ tls.key secret
server: https://acme-v02.api.letsencrypt.org/directory
solvers:
- http01:
ingress:
class: #ingressClass ์
๋ ฅ
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-staging #ํ
์คํธ๋ฐ ๊ฐ๋ฐ์ฉ
spec:
acme:
email: #๋์ ์ด๋ฉ์ผ ์
๋ ฅ
privateKeySecretRef:
name: letsencrypt-staging #์์ฑ๋ tls.key secret
server: https://acme-staging-v02.api.letsencrypt.org/directory
solvers:
- http01:
ingress:
class: #ingressClass ์
๋ ฅ
DNS01
ํน์ ํ TXT ๋ ์ฝ๋๋ฅผ ๋๋ฉ์ธ DNS์ ๋ฑ๋ก
bash
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod #์ด์์ฉ !!! ์ค์ ์กด์ฌํ๋ ๋๋ฉ์ธ์ ๋ํ์ฌ ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ๊ธฐ ์ํ Issuer ์ด๋ฏ๋ก ์ฃผ์
spec:
acme:
email: #๋์ ์ด๋ฉ์ผ ์
๋ ฅ
privateKeySecretRef:
name: letsencrypt-prod #์์ฑ๋ tls.key secret
server: https://acme-v02.api.letsencrypt.org/directory
solvers:
- dns01:
cloudDNS:
project: my-project
serviceAccountSecretRef:
name: prod-clouddns-svc-acct-secret
key: service-account.json
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-staging #ํ
์คํธ๋ฐ ๊ฐ๋ฐ์ฉ
spec:
acme:
email: #๋์ ์ด๋ฉ์ผ ์
๋ ฅ
privateKeySecretRef:
name: letsencrypt-staging #์์ฑ๋ tls.key secret
server: https://acme-staging-v02.api.letsencrypt.org/directory
solvers:
- dns01:
cloudDNS:
project: my-project
serviceAccountSecretRef:
name: prod-clouddns-svc-acct-secret
key: service-account.json
Leave a Reply