알겠어! cert-manager를 설치하고 설정하는 전체 과정을 단계별로 자세히 알려줄게. cert-manager는 쿠버네티스에서 인증서를 자동으로 발급하고 관리하는 데 필요한 훌륭한 도구야. 이 과정을 통해 자동 인증서 발급과 갱신을 설정할 수 있어.

1. cert-manager 설치

cert-manager를 설치하기 전에, 쿠버네티스 클러스터에 접근할 수 있는지 확인하고 kubectl 명령어가 설치되어 있는지 확인해야 해. 다음 단계로 cert-manager를 설치할 수 있어:

  1. Namespace 생성: cert-manager 자체가 사용할 네임스페이스를 생성해야 해. 일반적으로 cert-manager라는 이름의 네임스페이스에서 작동시키는 게 일반적이야.
kubectl create namespace cert-manager
  1. CRDs 설치: cert-manager의 Custom Resource Definitions (CRDs)를 설치해야 해. 이 CRDs는 cert-manager가 쿠버네티스 내에서 자원을 정의하고 관리하는 데 필요해.
kubectl apply -f <https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.crds.yaml>
  1. cert-manager Helm 차트 추가 및 설치: cert-manager를 설치하는 가장 쉬운 방법은 Helm을 사용하는 것이지만, YAML 파일을 사용하여 설치할 수도 있어. 다음은 Helm을 사용하는 방법이야:
helm repo add jetstack <https://charts.jetstack.io>
helm repo update
helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.8.0 --set installCRDs=true
  1. YAML 파일을 사용하여 설치하는 경우, 다음 명령어를 사용할 수 있어:
kubectl apply -f <https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.yaml>

2. ClusterIssuer 설정

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: <https://acme-v02.api.letsencrypt.org/directory>
    email: [email protected]
    privateKeySecretRef:
      name: letsencrypt-prod-private-key
    solvers:
    - http01:
        ingress:
          class: nginx
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: selfsigning-issuer
spec:
  selfSigned: {}

3. Certificate 생성

Elasticsearch에 사용될 인증서를 자동으로 발급받을 수 있도록 Certificate 객체를 생성하는 방법