인증서 자동 발급

IMKUNYOUNG·2023년 8월 26일
0

쿠버네티스

목록 보기
58/64

인증서와 키가 없다면 다음 두 가지 주요 방법 중 하나를 선택하여 인증서를 얻을 수 있습니다:

  1. 무료 인증서 발급 (Let's Encrypt): Let's Encrypt는 무료로 인증서를 발급하는 인증 기관(CA)입니다. cert-manager와 같은 Kubernetes 확장을 사용하면 클러스터 내에서 자동으로 Let's Encrypt 인증서를 발급하고 갱신할 수 있습니다.

  2. 상용 인증서 구매: 여러 CA에서 상용 인증서를 구매할 수 있습니다. 구매한 후, 발급된 인증서와 개인 키를 받게 됩니다.

1. Let's Encrypt를 사용한 무료 인증서 발급

아래는 cert-manager를 사용하여 Let's Encrypt에서 인증서를 자동으로 발급받는 기본 단계입니다:

  1. cert-manager 설치:

    kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.yaml
  2. Let's Encrypt 발급자(Issuer) 생성:

    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: letsencrypt-prod
    spec:
      acme:
        # 이메일 주소는 여러분의 것으로 변경하세요.
        email: your-email@example.com
        server: https://acme-v02.api.letsencrypt.org/directory
        privateKeySecretRef:
          name: letsencrypt-prod
        solvers:
        - http01:
            ingress:
              class: nginx

    위의 리소스를 issuer.yaml로 저장하고 kubectl apply -f issuer.yaml로 생성합니다.

  3. 인증서 요청:

    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: my-domain-cert
      namespace: default
    spec:
      secretName: my-tls-secret
      issuerRef:
        name: letsencrypt-prod
        kind: ClusterIssuer
      commonName: mydomain.com
      dnsNames:
      - mydomain.com

    위의 리소스를 certificate.yaml로 저장하고 kubectl apply -f certificate.yaml로 생성합니다.

    몇 분 후, cert-manager가 Let's Encrypt와 통신하여 인증서를 발급하고 my-tls-secret 이름의 secret으로 저장합니다.

2. 상용 인증서 구매

  • 여러 CA 웹사이트에 방문하여 원하는 인증서를 선택하고 구매합니다.
  • 구매 과정 중 CSR(Certificate Signing Request)를 생성할 수 있습니다. CSR을 생성하고 CA에 제출하면 CA에서 해당 CSR을 기반으로 인증서를 발급합니다.
  • 발급된 인증서와 개인 키를 다운로드 받습니다.
  • 위에서 설명한 kubectl create secret 명령어를 사용하여 Kubernetes secret으로 인증서와 키를 추가합니다.

두 방법 중에서는 Let's Encrypt 방법이 비용이 들지 않고, 자동 갱신이 가능하기 때문에 많은 사용자에게 인기가 있습니다.

0개의 댓글