9.7. 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.7.1. cert-manager Operator for Red Hat OpenShift를 통해 Istio-CSR 에이전트 설치

9.7.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"}]}}}'

검증

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

    $ oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator

    출력 예

    deployment "cert-manager-operator-controller-manager" successfully rolled out

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

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

참고

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

  • IssuerCertificate 오브젝트를 정의하는 YAML 파일(예: issuer.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
    ---
    kind: Issuer
    metadata:
      name: istio-ca
      namespace: <istio_project_name> 4
    spec:
      ca:
        secretName: istio-ca

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

검증

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

    $ oc get issuer istio-ca -n <istio_project_name>

    출력 예

    NAME       READY   AGE
    istio-ca   True    3m

9.7.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을 설치하기 위한 새 프로젝트를 생성합니다. 기존 프로젝트를 사용하여 이 단계를 건너뛸 수 있습니다.

    $ oc new-project <istio_csr_project_name>
  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.yaml )을 생성합니다.

      IstioCSR.yaml 파일 예

      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-system

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

      $ oc create -f IstioCSR.yaml

검증

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

    $ oc get deployment -n <istio_csr_project_name>

    출력 예

    NAME                     READY   UP-TO-DATE   AVAILABLE   AGE
    cert-manager-istio-csr   1/1     1            1           24s

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

    $ oc get pod -n <istio_csr_project_name>

    출력 예

    NAME                                  	 READY   STATUS	  RESTARTS    AGE
    cert-manager-istio-csr-5c979f9b7c-bv57w  1/1     Running  0           45s

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

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

      $ oc -n cert-manager-operator logs <cert_manager_operator_pod_name>

9.7.2. cert-manager Operator for Red Hat OpenShift에서 관리하는 Istio-CSR 에이전트 설치 제거

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
  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"
    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>
    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>
    4. 이전 단계에서 나열된 각 리소스에 대해 다음 명령을 실행하여 리소스를 삭제합니다.

      $ oc -n <istio_csr_project_name> delete <resource_type>/<resource_name>

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

9.7.3. Istio-CSR 기능이 활성화된 cert-manager Operator for Red Hat OpenShift 업그레이드

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

© 2024 Red Hat, Inc.