10.4. Zero Trust Workload Identity Manager 피연산자 배포
Zero Trust Workload Identity Manager는 기술 미리 보기 기능에 불과합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
각각의 사용자 정의 리소스(CR)를 생성하여 다음 피연산자를 배포할 수 있습니다. 성공적인 설치를 보장하려면 다음 순서에 따라 피연산자를 배포해야 합니다.
- SPIRE 서버
- SPIRE 에이전트
- SPIFFE CSI 드라이버
- SPIRE OIDC 검색 제공자
10.4.1. SPIRE 서버 배포 링크 복사링크가 클립보드에 복사되었습니다!
SpireServer
사용자 정의 리소스(CR)를 구성하여 SPIRE 서버를 배포하고 구성할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - 클러스터에 Zero Trust Workload Identity Manager를 설치했습니다.
프로세스
SpireServer
CR을 만듭니다.SpireServer
CR을 정의하는 YAML 파일을 만듭니다(예:SpireServer.yaml
):Example
SpireServer.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- SPIFFE 식별자에 사용될 신뢰 도메인입니다.
- 2
- 클러스터의 이름입니다.
- 3
- SPIRE 서버 CA의 일반 이름입니다.
- 4
- SPIRE 서버 CA의 국가입니다.
- 5
- SPIRE Server CA의 조직입니다.
- 6
- 지속성에 사용할 볼륨 유형입니다. 유효한 옵션은
pvc
및hostPath
입니다. - 7
- 지속성에 사용할 볼륨 크기
- 8
- 지속성에 사용되는 액세스 모드입니다. 유효한 옵션은
ReadWriteOnce
,ReadWriteOncePod
및ReadWriteMany
입니다. - 9
- 열려 있는 데이터베이스 연결의 최대 수입니다.
- 10
- 풀에 있는 유휴 연결의 최대 수입니다.
- 11
- 연결을 재사용할 수 있는 최대 시간입니다. 무제한 시간을 지정하려면 값을
0
으로 설정하면 됩니다. - 12
- JSON 웹 토큰(JWT) 발급자 도메인. 기본값은
oidc-discovery.$trustDomain
에 지정된 값으로 설정됩니다.
다음 명령을 실행하여 구성을 적용합니다.
oc apply -f SpireServer.yaml
$ oc apply -f SpireServer.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 SPIRE 서버의 상태 저장 세트가 준비되고 사용 가능한지 확인하세요.
oc get statefulset -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
$ oc get statefulset -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY AGE spire-server 1/1 65s
NAME READY AGE spire-server 1/1 65s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 SPIRE 서버 포드의 상태가
실행
중인지 확인하세요.oc get po -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
$ oc get po -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE spire-server-0 2/2 Running 1 (108s ago) 111s
NAME READY STATUS RESTARTS AGE spire-server-0 2/2 Running 1 (108s ago) 111s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 영구 볼륨 클레임(PVC)이 바인딩되었는지 확인하세요.
oc get pvc -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
$ oc get pvc -l app.kubernetes.io/name=server -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
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
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 Copied! Toggle word wrap Toggle overflow
10.4.2. SPIRE 에이전트 배포 링크 복사링크가 클립보드에 복사되었습니다!
SpireAgent
사용자 정의 리소스(CR)를 구성하여 SPIRE 에이전트를 배포하고 구성할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - 클러스터에 Zero Trust Workload Identity Manager를 설치했습니다.
프로세스
SpireAgent
CR을 만듭니다.SpireAgent
CR을 정의하는 YAML 파일을 만듭니다(예:SpireAgent.yaml
):SpireAgent.yaml
예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- SPIFFE 식별자에 사용될 신뢰 도메인입니다.
- 2
- 클러스터의 이름입니다.
- 3
- 예상 서비스 계정 토큰(PSAT) Kubernetes 노드 증명자를 활성화하거나 비활성화합니다. 유효한 옵션은
true
와false
입니다. - 4
- Kubernetes 워크로드 증명자를 활성화하거나 비활성화합니다. 유효한 옵션은
true
와false
입니다. - 5
- kubelet에 대해 수행해야 할 검증 유형입니다. 유효한 옵션은
auto
,hostCert
,apiServerCA
,skip입니다
.자동
옵션은 처음에는hostCert 를
사용하려고 시도한 다음apiServerCA
로 돌아갑니다.
다음 명령을 실행하여 구성을 적용합니다.
oc apply -f SpireAgent.yaml
$ oc apply -f SpireAgent.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 SPIRE 에이전트의 데몬 세트가 준비되고 사용 가능한지 확인하세요.
oc get daemonset -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
$ oc get daemonset -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE spire-agent 3 3 3 3 3 <none> 10m
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE spire-agent 3 3 3 3 3 <none> 10m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 SPIRE Agent 포드의 상태가
실행
중인지 확인하세요.oc get po -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
$ oc get po -l app.kubernetes.io/name=agent -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
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
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 Copied! Toggle word wrap Toggle overflow
10.4.3. SPIFFE 컨테이너 스토리지 인터페이스 드라이버 배포 링크 복사링크가 클립보드에 복사되었습니다!
SpiffeCSIDriver
사용자 정의 리소스(CR)를 구성하여 SPIFFE 컨테이너 스토리지 인터페이스(CSI) 드라이버를 배포하고 구성할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - 클러스터에 Zero Trust Workload Identity Manager를 설치했습니다.
프로세스
SpiffeCSIDriver
CR을 만듭니다.SpiffeCSIDriver
CR 객체를 정의하는 YAML 파일을 만듭니다(예:SpiffeCSIDriver.yaml
):SpiffeCSIDriver.yaml
예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- SPIRE 에이전트에 대한 UNIX 소켓 경로입니다.
다음 명령을 실행하여 구성을 적용합니다.
oc apply -f SpiffeCSIDriver.yaml
$ oc apply -f SpiffeCSIDriver.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 SPIFFE CSI 드라이버의 데몬 세트가 준비되고 사용 가능한지 확인하세요.
oc get daemonset -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
$ oc get daemonset -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE spire-spiffe-csi-driver 3 3 3 3 3 <none> 114s
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 Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 SPIFFE 컨테이너 스토리지 인터페이스(CSI) 드라이버 포드의 상태가
실행
중인지 확인하세요.oc get po -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
$ oc get po -l app.kubernetes.io/name=spiffe-csi-driver -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
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
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 Copied! Toggle word wrap Toggle overflow
10.4.4. SPIRE OpenID Connect Discovery Provider 배포 링크 복사링크가 클립보드에 복사되었습니다!
SpireOIDCDiscoveryProvider
사용자 정의 리소스(CR)를 구성하여 SPIRE OpenID Connect(OIDC) Discovery Provider를 배포하고 구성할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - 클러스터에 Zero Trust Workload Identity Manager를 설치했습니다.
프로세스
SpireOIDCDiscoveryProvider
CR을 만듭니다.SpireOIDCDiscoveryProvider
CR을 정의하는 YAML 파일을 만듭니다(예:SpireOIDCDiscoveryProvider.yaml
):SpireOIDCDiscoveryProvider.yaml
예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 구성을 적용합니다.
oc apply -f SpireOIDCDiscoveryProvider.yaml
$ oc apply -f SpireOIDCDiscoveryProvider.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 OIDC Discovery Provider의 배포가 준비되고 사용 가능한지 확인하세요.
oc get deployment -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
$ oc get deployment -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY UP-TO-DATE AVAILABLE AGE spire-spiffe-oidc-discovery-provider 1/1 1 1 2m58s
NAME READY UP-TO-DATE AVAILABLE AGE spire-spiffe-oidc-discovery-provider 1/1 1 1 2m58s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 OIDC Discovery Provider 포드의 상태가
실행
중인지 확인하세요.oc get po -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
$ oc get po -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE spire-spiffe-oidc-discovery-provider-64586d599f-lcc94 2/2 Running 0 7m15s
NAME READY STATUS RESTARTS AGE spire-spiffe-oidc-discovery-provider-64586d599f-lcc94 2/2 Running 0 7m15s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow