9.9. Red Hat OpenShift용 cert-manager Operator와 Istio-CSR 통합


중요

cert-manager Operator for Red Hat OpenShift에 대한 Istio-CSR 통합은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

cert-manager Operator for Red Hat OpenShift는 Red Hat OpenShift Service Mesh 또는 Istio에서 워크로드 및 컨트롤 플레인 구성 요소를 보호하기 위한 향상된 지원을 제공합니다. 여기에는 cert-manager 발행자를 사용하여 서명, 전달 및 갱신되는 상호 TLS(mTLS)를 활성화하는 인증서 지원이 포함됩니다. cert-manager Operator for Red Hat OpenShift 관리 Istio-CSR 에이전트를 사용하여 Istio 워크로드 및 컨트롤 플레인 구성 요소를 보호할 수 있습니다.

이 Istio-CSR 통합을 통해 Istio는 이제 Red Hat OpenShift용 cert-manager Operator에서 인증서를 가져와 보안 및 인증서 관리를 단순화할 수 있습니다.

9.9.1. cert-manager Operator for Red Hat OpenShift를 통해 Istio-CSR 에이전트 설치

9.9.1.1. Istio-CSR 기능 활성화

cert-manager Operator for Red Hat OpenShift에서 Istio-CSR 기능을 활성화하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.

프로세스

  • 다음 명령을 실행하여 Red Hat OpenShift용 cert-manager Operator 배포를 업데이트하여 구성 맵을 사용합니다.

    $ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"UNSUPPORTED_ADDON_FEATURES","value":"IstioCSR=true"}]}}}'
    Copy to Clipboard Toggle word wrap

검증

  1. 다음 명령을 실행하여 배포 롤아웃이 완료되었는지 확인합니다.

    $ oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator
    Copy to Clipboard Toggle word wrap

    출력 예

    deployment "cert-manager-operator-controller-manager" successfully rolled out
    Copy to Clipboard Toggle word wrap

9.9.1.2. Istio-CSR 에이전트에 대한 루트 CA 발행자 생성

이 절차를 사용하여 Istio-CSR 에이전트에 대한 루트 CA 발행자를 생성합니다.

참고

지원되지 않는 ACME 발행자를 제외하고 지원되는 다른 발급자를 사용할 수 있습니다. 자세한 내용은 "cert-manager Operator for Red Hat OpenShift issuer providers"를 참조하십시오.

프로세스

  1. IssuerCertificate 오브젝트를 정의하는 YAML 파일을 생성합니다.

    issuer.yaml 파일 예

    apiVersion: cert-manager.io/v1
    kind: Issuer 
    1
    
    metadata:
      name: selfsigned
      namespace: <istio_project_name> 
    2
    
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: istio-ca
      namespace: <istio_project_name>
    spec:
      isCA: true
      duration: 87600h # 10 years
      secretName: istio-ca
      commonName: istio-ca
      privateKey:
        algorithm: ECDSA
        size: 256
      subject:
        organizations:
          - cluster.local
          - cert-manager
      issuerRef:
        name: selfsigned
        kind: Issuer 
    3
    
        group: cert-manager.io
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer 
    4
    
    metadata:
      name: istio-ca
      namespace: <istio_project_name> 
    5
    
    spec:
      ca:
        secretName: istio-ca
    Copy to Clipboard Toggle word wrap

    1 3 4
    발급자 또는 Cluster Issuer 를 지정합니다.
    2 5
    Istio 프로젝트의 이름을 지정합니다.

검증

  • 다음 명령을 실행하여 Issuer가 생성되고 사용할 준비가 되었는지 확인합니다.

    $ oc get issuer istio-ca -n <istio_project_name>
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME       READY   AGE
    istio-ca   True    3m
    Copy to Clipboard Toggle word wrap

9.9.1.3. IstioCSR 사용자 정의 리소스 생성

cert-manager Operator for Red Hat OpenShift를 통해 Istio-CSR 에이전트를 설치하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • Istio-CSR 기능을 활성화했습니다.
  • Istio-CSR 에이전트의 인증서를 생성하는 데 필요한 발급자 또는 Cluster Issuer 리소스를 생성했습니다.

    참고

    Issuer 리소스를 사용하는 경우 Red Hat OpenShift Service Mesh 또는 Istiod 네임스페이스에서 발급자 및 인증서 리소스를 생성합니다. 인증서 요청은 동일한 네임스페이스에 생성되고 이에 따라 RBAC(역할 기반 액세스 제어)가 구성됩니다.

프로세스

  1. 다음 명령을 실행하여 Istio-CSR을 설치하기 위한 새 프로젝트를 생성합니다. Istio-CSR을 설치하기 위한 기존 프로젝트가 있는 경우 이 단계를 건너뜁니다.

    $ oc new-project <istio_csr_project_name>
    Copy to Clipboard Toggle word wrap
  2. IstioCSR 사용자 정의 리소스를 생성하여 Istio 워크로드 및 컨트롤 플레인 인증서 서명 요청을 처리하기 위해 cert-manager Operator for Red Hat OpenShift에서 관리하는 Istio-CSR 에이전트를 활성화합니다.

    참고

    한 번에 하나의 IstioCSR CR(사용자 정의 리소스)만 지원됩니다. 여러 IstioCSR CR이 생성되면 하나만 활성화됩니다. IstioCSRstatus 하위 리소스를 사용하여 리소스가 처리되지 않았는지 확인합니다.

    • 여러 IstioCSR CR이 동시에 생성되는 경우 처리되지 않습니다.
    • 여러 IstioCSR CR이 순차적으로 생성되는 경우 첫 번째 CSR CR만 처리됩니다.
    • 새 요청이 거부되지 않도록 하려면 처리되지 않은 IstioCSR CR을 삭제합니다.
    • Operator는 IstioCSR 용으로 생성된 오브젝트를 자동으로 제거하지 않습니다. 활성 IstioCSR 리소스가 삭제되고 이전 배포를 제거하지 않고 다른 네임스페이스에서 새 리소스가 생성되면 여러 istio-csr 배포가 활성 상태로 유지될 수 있습니다. 이 동작은 권장되지 않으며 지원되지 않습니다.
    1. IstioCSR 오브젝트를 정의하는 YAML 파일을 생성합니다.

      IstioCSR CR의 예

      apiVersion: operator.openshift.io/v1alpha1
      kind: IstioCSR
      metadata:
        name: default
        namespace: <istio_csr_project_name>
      spec:
        istioCSRConfig:
          certManager:
            issuerRef:
              name: istio-ca  
      1
      
              kind: Issuer 
      2
      
              group: cert-manager.io
          istiodTLSConfig:
            trustDomain: cluster.local
          istio:
            namespace: <istio_project_name>
      Copy to Clipboard Toggle word wrap

      1
      발급자 또는 Cluster Issuer 이름을 지정합니다. issuer.yaml 파일에 정의된 CA 발행자와 동일해야 합니다.
      2
      발급자 또는 Cluster Issuer 유형을 지정합니다. issuer.yaml 파일에 정의된 CA 발행자와 동일해야 합니다.
    2. 다음 명령을 실행하여 IstioCSR 사용자 지정 리소스를 생성합니다.

      $ oc create -f IstioCSR.yaml
      Copy to Clipboard Toggle word wrap

검증

  1. 다음 명령을 실행하여 Istio-CSR 배포가 준비되었는지 확인합니다.

    $ oc get deployment -n <istio_csr_project_name>
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                     READY   UP-TO-DATE   AVAILABLE   AGE
    cert-manager-istio-csr   1/1     1            1           24s
    Copy to Clipboard Toggle word wrap

  2. 다음 명령을 실행하여 Istio-CSR 포드가 실행 중인지 확인합니다.

    $ oc get pod -n <istio_csr_project_name>
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                                  	 READY   STATUS	  RESTARTS    AGE
    cert-manager-istio-csr-5c979f9b7c-bv57w  1/1     Running  0           45s
    Copy to Clipboard Toggle word wrap

    • 다음 명령을 실행하여 Istio-CSR Pod에서 로그에 오류를 보고하지 않는지 확인합니다.

      $ oc -n <istio_csr_project_name> logs <istio_csr_pod_name>
      Copy to Clipboard Toggle word wrap
    • 다음 명령을 실행하여 cert-manager Operator for Red Hat OpenShift Pod가 오류를 보고하지 않는지 확인합니다.

      $ oc -n cert-manager-operator logs <cert_manager_operator_pod_name>
      Copy to Clipboard Toggle word wrap

cert-manager Operator for Red Hat OpenShift에서 관리하는 Istio-CSR 에이전트를 제거하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • Istio-CSR 기능을 활성화했습니다.
  • IstioCSR 사용자 정의 리소스를 생성했습니다.

프로세스

  1. 다음 명령을 실행하여 IstioCSR 사용자 정의 리소스를 제거합니다.

    $ oc -n <istio_csr_project_name> delete istiocsrs.operator.openshift.io default
    Copy to Clipboard Toggle word wrap
  2. 관련 리소스를 제거합니다.

    중요

    Red Hat OpenShift Service Mesh 또는 Istio 구성 요소가 중단되지 않도록 하려면 다음 리소스를 제거하기 전에 Istio-CSR 서비스 또는 Istio에 발행된 인증서를 참조하는 구성 요소가 없는지 확인합니다.

    1. 다음 명령을 실행하여 클러스터 scoped-resources를 나열하고 나중에 참조할 수 있도록 나열된 리소스의 이름을 저장합니다.

      $ oc get clusterrolebindings,clusterroles -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr"
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 Istio-csr 배포된 네임스페이스의 리소스를 나열하고 나중에 참조할 수 있도록 나열된 리소스의 이름을 저장합니다.

      $ oc get certificate,deployments,services,serviceaccounts -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" -n <istio_csr_project_name>
      Copy to Clipboard Toggle word wrap
    3. 다음 명령을 실행하고 나중에 참조할 수 있도록 나열된 리소스의 이름을 저장하여 Red Hat OpenShift Service Mesh 또는 Istio 배포된 네임스페이스의 리소스를 나열합니다.

      $ oc get roles,rolebindings -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" -n <istio_csr_project_name>
      Copy to Clipboard Toggle word wrap
    4. 이전 단계에서 나열된 각 리소스에 대해 다음 명령을 실행하여 리소스를 삭제합니다.

      $ oc -n <istio_csr_project_name> delete <resource_type>/<resource_name>
      Copy to Clipboard Toggle word wrap

      관련 리소스가 모두 삭제될 때까지 이 프로세스를 반복합니다.

Istio-CSR TechPreview 기능 게이트가 활성화되면 Operator를 업그레이드할 수 없습니다. 사용 가능한 다음 버전에 사용하려면 cert-manager Operator for Red Hat OpenShift를 제거하고 모든 Istio-CSR 리소스를 다시 설치해야 합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat