10.4. Zero Trust Workload Identity Manager 피연산자 배포


중요

Zero Trust Workload Identity Manager는 기술 미리 보기 기능에 불과합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

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

각각의 사용자 정의 리소스(CR)를 생성하여 다음 피연산자를 배포할 수 있습니다. 성공적인 설치를 보장하려면 다음 순서에 따라 피연산자를 배포해야 합니다.

  1. SPIRE 서버
  2. SPIRE 에이전트
  3. SPIFFE CSI 드라이버
  4. SPIRE OIDC 검색 제공자

10.4.1. SPIRE 서버 배포

SpireServer 사용자 정의 리소스(CR)를 구성하여 SPIRE 서버를 배포하고 구성할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • 클러스터에 Zero Trust Workload Identity Manager를 설치했습니다.

프로세스

  1. SpireServer CR을 만듭니다.

    1. SpireServer CR을 정의하는 YAML 파일을 만듭니다(예: SpireServer.yaml ):

      Example SpireServer.yaml

      apiVersion: operator.openshift.io/v1alpha1
      kind: SpireServer
      metadata:
        name: cluster
      spec:
        trustDomain: <trust_domain> 
      1
      
        clusterName: <cluster_name> 
      2
      
        caSubject:
          commonName: example.org 
      3
      
          country: "US" 
      4
      
          organization: "RH" 
      5
      
        persistence:
          type: pvc 
      6
      
          size: "5Gi" 
      7
      
          accessMode: ReadWriteOnce 
      8
      
        datastore:
          databaseType: sqlite3
          connectionString: "/run/spire/data/datastore.sqlite3"
          maxOpenConns: 100 
      9
      
          maxIdleConns: 2 
      10
      
          connMaxLifetime: 3600 
      11
      
        jwtIssuer: <jwt_issuer_domain> 
      12
      Copy to Clipboard Toggle word wrap

      1
      SPIFFE 식별자에 사용될 신뢰 도메인입니다.
      2
      클러스터의 이름입니다.
      3
      SPIRE 서버 CA의 일반 이름입니다.
      4
      SPIRE 서버 CA의 국가입니다.
      5
      SPIRE Server CA의 조직입니다.
      6
      지속성에 사용할 볼륨 유형입니다. 유효한 옵션은 pvchostPath 입니다.
      7
      지속성에 사용할 볼륨 크기
      8
      지속성에 사용되는 액세스 모드입니다. 유효한 옵션은 ReadWriteOnce , ReadWriteOncePodReadWriteMany 입니다.
      9
      열려 있는 데이터베이스 연결의 최대 수입니다.
      10
      풀에 있는 유휴 연결의 최대 수입니다.
      11
      연결을 재사용할 수 있는 최대 시간입니다. 무제한 시간을 지정하려면 값을 0 으로 설정하면 됩니다.
      12
      JSON 웹 토큰(JWT) 발급자 도메인. 기본값은 oidc-discovery.$trustDomain 에 지정된 값으로 설정됩니다.
    2. 다음 명령을 실행하여 구성을 적용합니다.

      $ oc apply -f SpireServer.yaml
      Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 SPIRE 서버의 상태 저장 세트가 준비되고 사용 가능한지 확인하세요.

    $ oc get statefulset -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME            READY   AGE
    spire-server    1/1     65s
    Copy to Clipboard Toggle word wrap

  • 다음 명령을 실행하여 SPIRE 서버 포드의 상태가 실행 중인지 확인하세요.

    $ oc get po -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME               READY   STATUS    RESTARTS        AGE
    spire-server-0     2/2     Running   1 (108s ago)    111s
    Copy to Clipboard Toggle word wrap

  • 다음 명령을 실행하여 영구 볼륨 클레임(PVC)이 바인딩되었는지 확인하세요.

    $ oc get pvc -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                        STATUS    VOLUME                                     CAPACITY   ACCESS MODES  STORAGECLASS  VOLUMEATTRIBUTECLASS  AGE
    spire-data-spire-server-0   Bound     pvc-27a36535-18a1-4fde-ab6d-e7ee7d3c2744   5Gi        RW0           gp3-csi       <unset>               22m
    Copy to Clipboard Toggle word wrap

10.4.2. SPIRE 에이전트 배포

SpireAgent 사용자 정의 리소스(CR)를 구성하여 SPIRE 에이전트를 배포하고 구성할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • 클러스터에 Zero Trust Workload Identity Manager를 설치했습니다.

프로세스

  1. SpireAgent CR을 만듭니다.

    1. SpireAgent CR을 정의하는 YAML 파일을 만듭니다(예: SpireAgent.yaml ):

      SpireAgent.yaml 예시

      apiVersion: operator.openshift.io/v1alpha1
      kind: SpireAgent
      metadata:
        name: cluster
      spec:
        trustDomain: <trust_domain> 
      1
      
        clusterName: <cluster_name> 
      2
      
        nodeAttestor:
          k8sPSATEnabled: "true" 
      3
      
        workloadAttestors:
          k8sEnabled: "true" 
      4
      
          workloadAttestorsVerification:
            type: "auto" 
      5
      Copy to Clipboard Toggle word wrap

      1
      SPIFFE 식별자에 사용될 신뢰 도메인입니다.
      2
      클러스터의 이름입니다.
      3
      예상 서비스 계정 토큰(PSAT) Kubernetes 노드 증명자를 활성화하거나 비활성화합니다. 유효한 옵션은 truefalse 입니다.
      4
      Kubernetes 워크로드 증명자를 활성화하거나 비활성화합니다. 유효한 옵션은 truefalse 입니다.
      5
      kubelet에 대해 수행해야 할 검증 유형입니다. 유효한 옵션은 auto , hostCert , apiServerCA , skip입니다 . 자동 옵션은 처음에는 hostCert 를 사용하려고 시도한 다음 apiServerCA 로 돌아갑니다.
    2. 다음 명령을 실행하여 구성을 적용합니다.

      $ oc apply -f SpireAgent.yaml
      Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 SPIRE 에이전트의 데몬 세트가 준비되고 사용 가능한지 확인하세요.

    $ oc get daemonset -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    spire-agent   3         3         3       3            3           <none>          10m
    Copy to Clipboard Toggle word wrap

  • 다음 명령을 실행하여 SPIRE Agent 포드의 상태가 실행 중인지 확인하세요.

    $ oc get po -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                READY   STATUS    RESTARTS   AGE
    spire-agent-dp4jb   1/1     Running   0          12m
    spire-agent-nvwjm   1/1     Running   0          12m
    spire-agent-vtvlk   1/1     Running   0          12m
    Copy to Clipboard Toggle word wrap

10.4.3. SPIFFE 컨테이너 스토리지 인터페이스 드라이버 배포

SpiffeCSIDriver 사용자 정의 리소스(CR)를 구성하여 SPIFFE 컨테이너 스토리지 인터페이스(CSI) 드라이버를 배포하고 구성할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • 클러스터에 Zero Trust Workload Identity Manager를 설치했습니다.

프로세스

  1. SpiffeCSIDriver CR을 만듭니다.

    1. SpiffeCSIDriver CR 객체를 정의하는 YAML 파일을 만듭니다(예: SpiffeCSIDriver.yaml ):

      SpiffeCSIDriver.yaml 예시

      apiVersion: operator.openshift.io/v1alpha1
      kind: SpiffeCSIDriver
      metadata:
        name: cluster
      spec:
        agentSocketPath: '/run/spire/agent-sockets/spire-agent.sock' 
      1
      Copy to Clipboard Toggle word wrap

      1
      SPIRE 에이전트에 대한 UNIX 소켓 경로입니다.
    2. 다음 명령을 실행하여 구성을 적용합니다.

      $ oc apply -f SpiffeCSIDriver.yaml
      Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 SPIFFE CSI 드라이버의 데몬 세트가 준비되고 사용 가능한지 확인하세요.

    $ oc get daemonset -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    spire-spiffe-csi-driver   3         3         3       3            3           <none>          114s
    Copy to Clipboard Toggle word wrap

  • 다음 명령을 실행하여 SPIFFE 컨테이너 스토리지 인터페이스(CSI) 드라이버 포드의 상태가 실행 중인지 확인하세요.

    $ oc get po -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                            READY   STATUS    RESTARTS   AGE
    spire-spiffe-csi-driver-gpwcp   2/2     Running   0          2m37s
    spire-spiffe-csi-driver-rrbrd   2/2     Running   0          2m37s
    spire-spiffe-csi-driver-w6s6q   2/2     Running   0          2m37s
    Copy to Clipboard Toggle word wrap

10.4.4. SPIRE OpenID Connect Discovery Provider 배포

SpireOIDCDiscoveryProvider 사용자 정의 리소스(CR)를 구성하여 SPIRE OpenID Connect(OIDC) Discovery Provider를 배포하고 구성할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • 클러스터에 Zero Trust Workload Identity Manager를 설치했습니다.

프로세스

  1. SpireOIDCDiscoveryProvider CR을 만듭니다.

    1. SpireOIDCDiscoveryProvider CR을 정의하는 YAML 파일을 만듭니다(예: SpireOIDCDiscoveryProvider.yaml ):

      SpireOIDCDiscoveryProvider.yaml 예시

      apiVersion: operator.openshift.io/v1alpha1
      kind: SpireOIDCDiscoveryProvider
      metadata:
        name: cluster
      spec:
        trustDomain: <trust_domain> 
      1
      
        agentSocketName: 'spire-agent.sock' 
      2
      
        jwtIssuer: <jwt_issuer_domain> 
      3
      Copy to Clipboard Toggle word wrap

      1
      SPIFFE 식별자에 사용될 신뢰 도메인입니다.
      2
      SPIRE Agent 유닉스 소켓의 이름입니다.
      3
      JSON 웹 토큰(JWT) 발급자 도메인. 기본값은 oidc-discovery.$trustDomain 에 지정된 값으로 설정됩니다.
    2. 다음 명령을 실행하여 구성을 적용합니다.

      $ oc apply -f SpireOIDCDiscoveryProvider.yaml
      Copy to Clipboard Toggle word wrap

검증

  1. 다음 명령을 실행하여 OIDC Discovery Provider의 배포가 준비되고 사용 가능한지 확인하세요.

    $ oc get deployment -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                                    READY  UP-TO-DATE  AVAILABLE  AGE
    spire-spiffe-oidc-discovery-provider    1/1    1           1          2m58s
    Copy to Clipboard Toggle word wrap

  2. 다음 명령을 실행하여 OIDC Discovery Provider 포드의 상태가 실행 중인지 확인하세요.

    $ oc get po -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                                                    READY   STATUS    RESTARTS   AGE
    spire-spiffe-oidc-discovery-provider-64586d599f-lcc94   2/2     Running   0          7m15s
    Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat