인증서 관리를 위한 cert-manager 설치

이 항목에서는 Tanzu Kubernetes Grid 워크로드 클러스터에 cert-manager를 설치하는 방법을 설명합니다. cert-manager는 독립형 관리 클러스터에 자동으로 설치됩니다.

이 항목은 vSphere, AWS(Amazon Web Services), Azure에서 실행되는 워크로드 클러스터에 적용됩니다.

cert-manager 설치를 위해 워크로드 클러스터 준비

클러스터를 준비하려면 다음을 수행합니다.

  1. cert-manager를 배포할 워크로드 클러스터의 관리 자격 증명을 가져옵니다. 예:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. kubectl의 컨텍스트를 클러스터로 설정합니다. 예:

    kubectl config use-context my-cluster-admin@my-cluster
    

cert-manager 설치

cert-manager를 설치하는 방법:

  1. vSphere의 단일 노드 클러스터에 설명된 대로 cert-manager를 단일 노드 클러스터에 설치하는 경우 cert-manager 패키지 주석을 패치하여 단일 노드 클러스터에 코어 패키지로 설치된 cert-manager 및 Tanzu cert-manager 저장소의 standard 간 충돌을 방지합니다.

    kubectl annotate --overwrite package cert-manager.tanzu.vmware.com.1.10.1+vmware.1-tkg.1 tkg.tanzu.vmware.com/package-repo='standard'
    
  2. cert-manager 패키지가 설치된 패키지 저장소(예: tanzu-standard 저장소)가 클러스터에 없는 경우 다음을 설치합니다.

    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    

    여기서:

    • PACKAGE-REPO-NAME은 패키지 저장소의 이름(예: tanzu-standard 또는 ADDITIONAL_IMAGE_REGISTRY 변수로 구성된 개인 이미지 레지스트리의 이름입니다.
    • PACKAGE-REPO-ENDPOINT는 패키지 저장소의 URL입니다.

      • 이 릴리스의 경우 tanzu-standard URL은 projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16입니다. Tanzu CLI에서 이 값을 가져오려면 패키지 저장소 나열을 참조하거나 Tanzu Mission Control의 클러스터(Cluster) 창에서 추가 기능(Addons) > 저장소(Repositories) 목록을 참조하십시오.
  3. 워크로드 클러스터에서 cert-manager 패키지를 사용할 수 있는지 확인합니다.

    tanzu package available list -A
    
  4. 사용 가능한 패키지의 버전을 검색합니다.

    tanzu package available list cert-manager.tanzu.vmware.com -A
    
  5. cert-manager 패키지를 설치합니다.

    tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace TARGET-NAMESPACE --version AVAILABLE-PACKAGE-VERSION
    

    여기서:

    • TARGET-NAMESPACE는 cert-manager 패키지를 설치하려는 네임스페이스입니다. 예: my-packages 또는 tanzu-cli-managed-packages 네임스페이스.

      • --namespace 플래그가 지정되지 않은 경우 Tanzu CLI는 default 네임스페이스에 패키지를 설치합니다.
      • 지정된 네임스페이스가 이미 존재해야 합니다(예: kubectl create namespace my-packages 실행).
    • AVAILABLE-PACKAGE-VERSION은 위에서 검색한 버전입니다.

    예:

    tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace my-packages --version 1.10.1+vmware.1-tkg.1
    
  6. cert-manager 패키지가 설치되었는지 확인합니다.

    tanzu package installed list -A
    

    cert-manager 패키지 및 cert-manager 애플리케이션은 tanzu package install 명령을 실행할 때 지정한 네임스페이스에 설치됩니다.

  7. cert-manager 애플리케이션이 TARGET-NAMESPACE에서 조정되었는지 확인합니다. 예:

    kubectl get apps -A
    NAMESPACE     NAME             DESCRIPTION           SINCE-DEPLOY   AGE
    my-packages   cert-manager     Reconcile succeeded   3m2s           3m12s
    ...
    

    상태가 Reconcile Succeeded가 아닌 경우 cert-manager 애플리케이션의 전체 상태 세부 정보를 확인합니다. 전체 상태를 확인하면 문제를 해결하는 데 도움이 될 수 있습니다.

    kubectl get app cert-manager --namespace TARGET-NAMESPACE -o yaml
    

    여기서 TARGET-NAMESPACE는 패키지를 설치한 네임스페이스입니다. 문제 해결이 문제를 해결하는 데 도움이 되지 않을 경우 패키지를 다시 설치하기 전에 제거해야 합니다.

    tanzu package installed delete cert-manager --namespace TARGET-NAMESPACE
    
  8. cert-manager- 포드가 실행 중인지 확인합니다.

    kubectl get pods -A
    

    cert-manager 포드 및 cert-manager 구성 요소와 연결된 기타 리소스는 cert-manager 네임스페이스에 생성됩니다.

check-circle-line exclamation-circle-line close-line
Scroll to top icon