2.7. 외부 비밀 저장소를 사용하여 포드에 민감한 데이터 제공
일부 애플리케이션에는 개발자에게 제공하길 원하지 않는 민감한 정보(암호 및 사용자 이름 등)가 필요합니다.
Kubernetes Secret
객체를 사용하여 민감한 정보를 제공하는 대신, 외부 비밀 저장소를 사용하여 민감한 정보를 저장할 수 있습니다. Secrets Store CSI Driver Operator를 사용하면 외부 비밀 저장소와 통합하고 비밀 콘텐츠를 Pod 볼륨으로 마운트할 수 있습니다.
2.7.1. 비밀 저장소 CSI 드라이버 운영자에 관하여 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes 비밀은 Base64 인코딩으로 저장됩니다. etcd는 이러한 비밀에 대해 저장 시에는 암호화를 제공하지만, 비밀을 검색하면 암호가 해독되어 사용자에게 제공됩니다. 클러스터에서 역할 기반 액세스 제어가 제대로 구성되지 않으면 API 또는 etcd 액세스 권한이 있는 모든 사람이 비밀을 검색하거나 수정할 수 있습니다. 또한, 네임스페이스에 포드를 생성할 권한이 있는 사람은 누구나 해당 액세스 권한을 사용하여 해당 네임스페이스의 모든 비밀을 읽을 수 있습니다.
비밀을 안전하게 저장하고 관리하려면 공급자 플러그인을 사용하여 Azure Key Vault와 같은 외부 비밀 관리 시스템에서 비밀을 마운트하도록 OpenShift Container Platform Secrets Store Container Storage Interface(CSI) 드라이버 운영자를 구성할 수 있습니다. 그러면 애플리케이션은 비밀을 사용할 수 있지만 애플리케이션 포드가 파괴된 후에는 비밀이 시스템에 유지되지 않습니다.
Secrets Store CSI 드라이버 오퍼레이터인 secrets-store.csi.k8s.io
를 사용하면 OpenShift Container Platform에서 엔터프라이즈급 외부 비밀 저장소에 저장된 여러 개의 비밀, 키 및 인증서를 볼륨으로 포드에 마운트할 수 있습니다. Secrets Store CSI 드라이버 운영자는 gRPC를 사용하여 공급자와 통신하여 지정된 외부 비밀 저장소에서 마운트 콘텐츠를 가져옵니다. 볼륨이 연결된 후, 볼륨 안의 데이터는 컨테이너의 파일 시스템에 마운트됩니다. 비밀 저장소 볼륨은 인라인으로 마운트됩니다.
2.7.1.1. 비밀 저장소 제공업체 링크 복사링크가 클립보드에 복사되었습니다!
Secrets Store CSI Driver Operator는 다음 Secrets Store 공급업체에서 테스트되었습니다.
- AWS 시크릿 관리자
- AWS Systems Manager 매개변수 저장소
- Azure Key Vault
- Google 시크릿 관리자
- HashiCorp Vault
Red Hat은 타사 비밀 저장소 공급자 기능과 관련된 모든 요소를 테스트하지 않습니다. 타사 지원에 대한 자세한 내용은 Red Hat 타사 지원 정책을 참조하세요.
2.7.1.2. 자동 회전 링크 복사링크가 클립보드에 복사되었습니다!
Secrets Store CSI 드라이버는 마운트된 볼륨의 콘텐츠를 외부 비밀 저장소의 콘텐츠로 주기적으로 회전합니다. 외부 비밀 저장소에서 비밀이 업데이트되면 해당 비밀은 마운트된 볼륨에서 업데이트됩니다. Secrets Store CSI 운전자 운영자는 2분마다 업데이트를 확인합니다.
마운트된 콘텐츠의 동기화를 Kubernetes 비밀로 활성화한 경우 Kubernetes 비밀도 순환됩니다.
비밀 데이터를 사용하는 애플리케이션은 비밀에 대한 업데이트를 감시해야 합니다.
2.7.2. Secrets Store CSI 드라이버 설치 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
- OpenShift Container Platform 웹 콘솔에 액세스합니다.
- 클러스터에 대한 관리자 액세스.
프로세스
Secrets Store CSI 드라이버를 설치하려면:
Secrets Store CSI 드라이버 운영자를 설치하세요:
- 웹 콘솔에 로그인합니다.
-
Operators
OperatorHub를 클릭합니다. - 필터 상자에 "Secrets Store CSI"를 입력하여 Secrets Store CSI 드라이버 운영자를 찾으세요.
- Secrets Store CSI Driver Operator 버튼을 클릭하세요.
- Secrets Store CSI Driver Operator 페이지에서 설치를 클릭합니다.
Operator 설치 페이지에서 다음을 확인합니다.
- 클러스터의 모든 네임스페이스(기본값)가 선택됩니다.
- 설치된 네임스페이스는 openshift-cluster-csi-drivers로 설정됩니다.
설치를 클릭합니다.
설치가 완료되면 Secrets Store CSI Driver Operator가 웹 콘솔의 설치된 운영자 섹션에 나열됩니다.
드라이버에 대한
ClusterCSIDriver
인스턴스를 생성합니다(secret-store.csi.k8s.io
).-
관리
CustomResourceDefinitions ClusterCSIDriver를 클릭합니다. Instances 탭에서 Create ClusterCSIDriver를 클릭합니다.
다음 YAML 파일을 사용합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 생성을 클릭합니다.
-
관리
2.7.3. 외부 비밀 저장소에서 CSI 볼륨으로 비밀 마운트 링크 복사링크가 클립보드에 복사되었습니다!
Secrets Store CSI Driver Operator를 설치한 후에는 다음 외부 비밀 저장소 중 하나에서 CSI 볼륨으로 비밀을 마운트할 수 있습니다.
2.7.3.1. AWS Secrets Manager에서 비밀 마운트 링크 복사링크가 클립보드에 복사되었습니다!
Secrets Store CSI Driver Operator를 사용하면 AWS Secrets Manager에서 OpenShift Container Platform의 CSI(Container Storage Interface) 볼륨으로 비밀을 마운트할 수 있습니다. AWS Secrets Manager에서 비밀을 마운트하려면 클러스터를 AWS에 설치하고 AWS 보안 토큰 서비스(STS)를 사용해야 합니다.
사전 요구 사항
- 귀하의 클러스터는 AWS에 설치되어 있으며 AWS 보안 토큰 서비스(STS)를 사용합니다.
- Secrets Store CSI Driver Operator를 설치했습니다. 자세한 내용은 Secrets Store CSI 드라이버 설치를 참조하세요.
- AWS Secrets Manager를 구성하여 필요한 비밀을 저장했습니다.
-
ccoctl
바이너리를 추출하고 준비했습니다. -
jq
CLI 도구를 설치했습니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
AWS Secrets Manager 공급자를 설치하세요.
공급자 리소스에 대한 다음 구성을 사용하여 YAML 파일을 만듭니다.
중요Secrets Store CSI 드라이버용 AWS Secrets Manager 공급자는 업스트림 공급자입니다.
이 구성은 OpenShift Container Platform에서 제대로 작동하도록 업스트림 AWS 문서 에 제공된 구성을 수정한 것입니다. 이 구성을 변경하면 기능에 영향을 미칠 수 있습니다.
aws-provider.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
csi-secrets-store-provider-aws
서비스 계정에 대한 특권 액세스 권한을 부여합니다.oc adm policy add-scc-to-user privileged -z csi-secrets-store-provider-aws -n openshift-cluster-csi-drivers
$ oc adm policy add-scc-to-user privileged -z csi-secrets-store-provider-aws -n openshift-cluster-csi-drivers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 공급자 리소스를 만듭니다.
oc apply -f aws-provider.yaml
$ oc apply -f aws-provider.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
서비스 계정이 AWS 비밀 객체를 읽을 수 있도록 권한을 부여합니다.
다음 명령을 실행하여 자격 증명 요청을 포함할 디렉토리를 만듭니다.
mkdir credentialsrequest-dir-aws
$ mkdir credentialsrequest-dir-aws
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자격 증명 요청에 대한 다음 구성을 사용하여 YAML 파일을 만듭니다.
credentialsrequest.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 OIDC 공급자를 검색합니다.
oc get --raw=/.well-known/openid-configuration | jq -r '.issuer'
$ oc get --raw=/.well-known/openid-configuration | jq -r '.issuer'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
https://<oidc_provider_name>
https://<oidc_provider_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 단계에서 사용할 OIDC 공급자 이름
<oidc_provider_name>
을 출력에서 복사합니다.다음 명령을 실행하여
ccoctl
도구를 사용하여 자격 증명 요청을 처리합니다.ccoctl aws create-iam-roles \ --name my-role --region=<aws_region> \ --credentials-requests-dir=credentialsrequest-dir-aws \ --identity-provider-arn arn:aws:iam::<aws_account>:oidc-provider/<oidc_provider_name> --output-dir=credrequests-ccoctl-output
$ ccoctl aws create-iam-roles \ --name my-role --region=<aws_region> \ --credentials-requests-dir=credentialsrequest-dir-aws \ --identity-provider-arn arn:aws:iam::<aws_account>:oidc-provider/<oidc_provider_name> --output-dir=credrequests-ccoctl-output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
2023/05/15 18:10:34 Role arn:aws:iam::<aws_account_id>:role/my-role-my-namespace-aws-creds created 2023/05/15 18:10:34 Saved credentials configuration to: credrequests-ccoctl-output/manifests/my-namespace-aws-creds-credentials.yaml 2023/05/15 18:10:35 Updated Role policy for Role my-role-my-namespace-aws-creds
2023/05/15 18:10:34 Role arn:aws:iam::<aws_account_id>:role/my-role-my-namespace-aws-creds created 2023/05/15 18:10:34 Saved credentials configuration to: credrequests-ccoctl-output/manifests/my-namespace-aws-creds-credentials.yaml 2023/05/15 18:10:35 Updated Role policy for Role my-role-my-namespace-aws-creds
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 단계에서 사용할 수 있도록 출력에서
<aws_role_arn>을
복사합니다. 예를 들어,arn:aws:iam::<aws_account_id>:role/my-role-my-namespace-aws-creds
.다음 명령을 실행하여 ARN 역할에 서비스 계정을 바인딩합니다.
oc annotate -n my-namespace sa/aws-provider eks.amazonaws.com/role-arn="<aws_role_arn>"
$ oc annotate -n my-namespace sa/aws-provider eks.amazonaws.com/role-arn="<aws_role_arn>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
비밀 저장소 공급자를 정의하려면 비밀 공급자 클래스를 만듭니다.
SecretProviderClass
객체를 정의하는 YAML 파일을 만듭니다.Example
secret-provider-class-aws.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
SecretProviderClass
객체를 만듭니다.oc create -f secret-provider-class-aws.yaml
$ oc create -f secret-provider-class-aws.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 비밀 공급자 클래스를 사용하기 위해 배포를 만듭니다.
배포
객체를 정의하는 YAML 파일을 만듭니다.deployment.yaml
의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
배포
객체를 만듭니다.oc create -f deployment.yaml
$ oc create -f deployment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
포드 볼륨 마운트에서 AWS Secrets Manager의 비밀에 액세스할 수 있는지 확인하세요.
다음 명령을 실행하여 Pod 마운트의 비밀을 나열합니다.
oc exec my-aws-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
$ oc exec my-aws-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
testSecret
testSecret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 포드 마운트에서 비밀을 확인하세요.
oc exec my-aws-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/testSecret
$ oc exec my-aws-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/testSecret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
<secret_value>
<secret_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.3.2. AWS Systems Manager Parameter Store에서 비밀 마운트 링크 복사링크가 클립보드에 복사되었습니다!
Secrets Store CSI Driver Operator를 사용하면 AWS Systems Manager Parameter Store의 비밀을 OpenShift Container Platform의 CSI(Container Storage Interface) 볼륨에 마운트할 수 있습니다. AWS Systems Manager Parameter Store에서 비밀을 마운트하려면 클러스터를 AWS에 설치하고 AWS Security Token Service(STS)를 사용해야 합니다.
사전 요구 사항
- 귀하의 클러스터는 AWS에 설치되어 있으며 AWS 보안 토큰 서비스(STS)를 사용합니다.
- Secrets Store CSI Driver Operator를 설치했습니다. 자세한 내용은 Secrets Store CSI 드라이버 설치를 참조하세요.
- 필요한 비밀을 저장하도록 AWS Systems Manager Parameter Store를 구성했습니다.
-
ccoctl
바이너리를 추출하고 준비했습니다. -
jq
CLI 도구를 설치했습니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
AWS Systems Manager Parameter Store 공급자를 설치합니다.
공급자 리소스에 대한 다음 구성을 사용하여 YAML 파일을 만듭니다.
중요Secrets Store CSI 드라이버용 AWS Systems Manager Parameter Store 공급자는 업스트림 공급자입니다.
이 구성은 OpenShift Container Platform에서 제대로 작동하도록 업스트림 AWS 문서 에 제공된 구성을 수정한 것입니다. 이 구성을 변경하면 기능에 영향을 미칠 수 있습니다.
aws-provider.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
csi-secrets-store-provider-aws
서비스 계정에 대한 특권 액세스 권한을 부여합니다.oc adm policy add-scc-to-user privileged -z csi-secrets-store-provider-aws -n openshift-cluster-csi-drivers
$ oc adm policy add-scc-to-user privileged -z csi-secrets-store-provider-aws -n openshift-cluster-csi-drivers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 공급자 리소스를 만듭니다.
oc apply -f aws-provider.yaml
$ oc apply -f aws-provider.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
서비스 계정이 AWS 비밀 객체를 읽을 수 있도록 권한을 부여합니다.
다음 명령을 실행하여 자격 증명 요청을 포함할 디렉토리를 만듭니다.
mkdir credentialsrequest-dir-aws
$ mkdir credentialsrequest-dir-aws
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자격 증명 요청에 대한 다음 구성을 사용하여 YAML 파일을 만듭니다.
credentialsrequest.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 OIDC 공급자를 검색합니다.
oc get --raw=/.well-known/openid-configuration | jq -r '.issuer'
$ oc get --raw=/.well-known/openid-configuration | jq -r '.issuer'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
https://<oidc_provider_name>
https://<oidc_provider_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 단계에서 사용할 OIDC 공급자 이름
<oidc_provider_name>
을 출력에서 복사합니다.다음 명령을 실행하여
ccoctl
도구를 사용하여 자격 증명 요청을 처리합니다.ccoctl aws create-iam-roles \ --name my-role --region=<aws_region> \ --credentials-requests-dir=credentialsrequest-dir-aws \ --identity-provider-arn arn:aws:iam::<aws_account>:oidc-provider/<oidc_provider_name> --output-dir=credrequests-ccoctl-output
$ ccoctl aws create-iam-roles \ --name my-role --region=<aws_region> \ --credentials-requests-dir=credentialsrequest-dir-aws \ --identity-provider-arn arn:aws:iam::<aws_account>:oidc-provider/<oidc_provider_name> --output-dir=credrequests-ccoctl-output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
2023/05/15 18:10:34 Role arn:aws:iam::<aws_account_id>:role/my-role-my-namespace-aws-creds created 2023/05/15 18:10:34 Saved credentials configuration to: credrequests-ccoctl-output/manifests/my-namespace-aws-creds-credentials.yaml 2023/05/15 18:10:35 Updated Role policy for Role my-role-my-namespace-aws-creds
2023/05/15 18:10:34 Role arn:aws:iam::<aws_account_id>:role/my-role-my-namespace-aws-creds created 2023/05/15 18:10:34 Saved credentials configuration to: credrequests-ccoctl-output/manifests/my-namespace-aws-creds-credentials.yaml 2023/05/15 18:10:35 Updated Role policy for Role my-role-my-namespace-aws-creds
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 단계에서 사용할 수 있도록 출력에서
<aws_role_arn>을
복사합니다. 예를 들어,arn:aws:iam::<aws_account_id>:role/my-role-my-namespace-aws-creds
.다음 명령을 실행하여 ARN 역할에 서비스 계정을 바인딩합니다.
oc annotate -n my-namespace sa/aws-provider eks.amazonaws.com/role-arn="<aws_role_arn>"
$ oc annotate -n my-namespace sa/aws-provider eks.amazonaws.com/role-arn="<aws_role_arn>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
비밀 저장소 공급자를 정의하려면 비밀 공급자 클래스를 만듭니다.
SecretProviderClass
객체를 정의하는 YAML 파일을 만듭니다.Example
secret-provider-class-aws.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
SecretProviderClass
객체를 만듭니다.oc create -f secret-provider-class-aws.yaml
$ oc create -f secret-provider-class-aws.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 비밀 공급자 클래스를 사용하기 위해 배포를 만듭니다.
배포
객체를 정의하는 YAML 파일을 만듭니다.deployment.yaml
의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
배포
객체를 만듭니다.oc create -f deployment.yaml
$ oc create -f deployment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Pod 볼륨 마운트의 AWS Systems Manager Parameter Store에서 비밀에 액세스할 수 있는지 확인하세요.
다음 명령을 실행하여 Pod 마운트의 비밀을 나열합니다.
oc exec my-aws-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
$ oc exec my-aws-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
testParameter
testParameter
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 포드 마운트에서 비밀을 확인하세요.
oc exec my-aws-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/testSecret
$ oc exec my-aws-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/testSecret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
<secret_value>
<secret_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.3.3. Azure Key Vault에서 비밀 마운트 링크 복사링크가 클립보드에 복사되었습니다!
Secrets Store CSI Driver Operator를 사용하면 Azure Key Vault에서 OpenShift Container Platform의 CSI(Container Storage Interface) 볼륨으로 비밀을 마운트할 수 있습니다. Azure Key Vault에서 비밀을 마운트하려면 클러스터를 Microsoft Azure에 설치해야 합니다.
사전 요구 사항
- 클러스터가 Azure에 설치되었습니다.
- Secrets Store CSI Driver Operator를 설치했습니다. 자세한 내용은 Secrets Store CSI 드라이버 설치를 참조하세요.
- 필요한 비밀을 저장하도록 Azure Key Vault를 구성했습니다.
-
Azure CLI(
az
)를 설치했습니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
Azure Key Vault 공급자를 설치하세요.
공급자 리소스에 대한 다음 구성을 사용하여 YAML 파일을 만듭니다.
중요Secrets Store CSI 드라이버용 Azure Key Vault 공급자는 업스트림 공급자입니다.
이 구성은 OpenShift Container Platform에서 제대로 작동하도록 업스트림 Azure 설명서 에 제공된 구성을 수정한 것입니다. 이 구성을 변경하면 기능에 영향을 미칠 수 있습니다.
azure-provider.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
csi-secrets-store-provider-azure
서비스 계정에 대한 특권 액세스 권한을 부여하세요.oc adm policy add-scc-to-user privileged -z csi-secrets-store-provider-azure -n openshift-cluster-csi-drivers
$ oc adm policy add-scc-to-user privileged -z csi-secrets-store-provider-azure -n openshift-cluster-csi-drivers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 공급자 리소스를 만듭니다.
oc apply -f azure-provider.yaml
$ oc apply -f azure-provider.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
키 보관소에 액세스하기 위한 서비스 주체를 만듭니다.
다음 명령을 실행하여 서비스 주체 클라이언트 비밀번호를 환경 변수로 설정합니다.
SERVICE_PRINCIPAL_CLIENT_SECRET="$(az ad sp create-for-rbac --name https://$KEYVAULT_NAME --query 'password' -otsv)"
$ SERVICE_PRINCIPAL_CLIENT_SECRET="$(az ad sp create-for-rbac --name https://$KEYVAULT_NAME --query 'password' -otsv)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서비스 주체 클라이언트 ID를 환경 변수로 설정합니다.
SERVICE_PRINCIPAL_CLIENT_ID="$(az ad sp list --display-name https://$KEYVAULT_NAME --query '[0].appId' -otsv)"
$ SERVICE_PRINCIPAL_CLIENT_ID="$(az ad sp list --display-name https://$KEYVAULT_NAME --query '[0].appId' -otsv)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서비스 주체 클라이언트 비밀과 ID로 일반 비밀을 만듭니다.
oc create secret generic secrets-store-creds -n my-namespace --from-literal clientid=${SERVICE_PRINCIPAL_CLIENT_ID} --from-literal clientsecret=${SERVICE_PRINCIPAL_CLIENT_SECRET}
$ oc create secret generic secrets-store-creds -n my-namespace --from-literal clientid=${SERVICE_PRINCIPAL_CLIENT_ID} --from-literal clientsecret=${SERVICE_PRINCIPAL_CLIENT_SECRET}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow secrets-store.csi.k8s.io/used=true
레이블을 적용하여 공급자가 이nodePublishSecretRef
비밀을 찾을 수 있도록 합니다.oc -n my-namespace label secret secrets-store-creds secrets-store.csi.k8s.io/used=true
$ oc -n my-namespace label secret secrets-store-creds secrets-store.csi.k8s.io/used=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
비밀 저장소 공급자를 정의하려면 비밀 공급자 클래스를 만듭니다.
SecretProviderClass
객체를 정의하는 YAML 파일을 만듭니다.Example
secret-provider-class-azure.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
SecretProviderClass
객체를 만듭니다.oc create -f secret-provider-class-azure.yaml
$ oc create -f secret-provider-class-azure.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 비밀 공급자 클래스를 사용하기 위해 배포를 만듭니다.
배포
객체를 정의하는 YAML 파일을 만듭니다.deployment.yaml
의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
배포
객체를 만듭니다.oc create -f deployment.yaml
$ oc create -f deployment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Pod 볼륨 마운트에서 Azure Key Vault의 비밀에 액세스할 수 있는지 확인하세요.
다음 명령을 실행하여 Pod 마운트의 비밀을 나열합니다.
oc exec my-azure-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
$ oc exec my-azure-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
secret1
secret1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 포드 마운트에서 비밀을 확인하세요.
oc exec my-azure-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/secret1
$ oc exec my-azure-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/secret1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
my-secret-value
my-secret-value
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.3.4. Google Secret Manager에서 비밀 마운트 링크 복사링크가 클립보드에 복사되었습니다!
Secrets Store CSI Driver Operator를 사용하면 Google Secret Manager의 비밀을 OpenShift Container Platform의 CSI(Container Storage Interface) 볼륨에 마운트할 수 있습니다. Google Secret Manager에서 비밀을 마운트하려면 클러스터를 Google Cloud Platform(GCP)에 설치해야 합니다.
사전 요구 사항
- Secrets Store CSI Driver Operator를 설치했습니다. 자세한 내용은 Secrets Store CSI 드라이버 설치를 참조하세요.
- Google Secret Manager를 구성하여 필요한 비밀을 저장했습니다.
-
Google Cloud 서비스 계정에서
key.json
이라는 서비스 계정 키를 생성했습니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
Google Secret Manager 공급자를 설치하세요.
공급자 리소스에 대한 다음 구성을 사용하여 YAML 파일을 만듭니다.
gcp-provider.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
csi-secrets-store-provider-gcp
서비스 계정에 대한 특권 액세스 권한을 부여합니다.oc adm policy add-scc-to-user privileged -z csi-secrets-store-provider-gcp -n openshift-cluster-csi-drivers
$ oc adm policy add-scc-to-user privileged -z csi-secrets-store-provider-gcp -n openshift-cluster-csi-drivers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 공급자 리소스를 만듭니다.
oc apply -f gcp-provider.yaml
$ oc apply -f gcp-provider.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Google Secret Manager 비밀번호를 읽을 수 있는 권한을 부여합니다.
다음 명령을 실행하여 새 프로젝트를 만듭니다.
oc new-project my-namespace
$ oc new-project my-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Pod 보안 허용을 위해
my-namespace
네임스페이스에 레이블을 지정합니다.oc label ns my-namespace security.openshift.io/scc.podSecurityLabelSync=false pod-security.kubernetes.io/enforce=privileged pod-security.kubernetes.io/audit=privileged pod-security.kubernetes.io/warn=privileged --overwrite
$ oc label ns my-namespace security.openshift.io/scc.podSecurityLabelSync=false pod-security.kubernetes.io/enforce=privileged pod-security.kubernetes.io/audit=privileged pod-security.kubernetes.io/warn=privileged --overwrite
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 포드 배포를 위한 서비스 계정을 만듭니다.
oc create serviceaccount my-service-account --namespace=my-namespace
$ oc create serviceaccount my-service-account --namespace=my-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
key.json
파일에서 일반 비밀번호를 만듭니다.oc create secret generic secrets-store-creds -n my-namespace --from-file=key.json
$ oc create secret generic secrets-store-creds -n my-namespace --from-file=key.json
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Google Secret Manager에서 이
key.json
파일을 생성했습니다.
secrets-store.csi.k8s.io/used=true
레이블을 적용하여 공급자가 이nodePublishSecretRef
비밀을 찾을 수 있도록 합니다.oc -n my-namespace label secret secrets-store-creds secrets-store.csi.k8s.io/used=true
$ oc -n my-namespace label secret secrets-store-creds secrets-store.csi.k8s.io/used=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
비밀 저장소 공급자를 정의하려면 비밀 공급자 클래스를 만듭니다.
SecretProviderClass
객체를 정의하는 YAML 파일을 만듭니다.Example
secret-provider-class-gcp.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
SecretProviderClass
객체를 만듭니다.oc create -f secret-provider-class-gcp.yaml
$ oc create -f secret-provider-class-gcp.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 비밀 공급자 클래스를 사용하기 위해 배포를 만듭니다.
배포
객체를 정의하는 YAML 파일을 만듭니다.deployment.yaml
의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
배포
객체를 만듭니다.oc create -f deployment.yaml
$ oc create -f deployment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Pod 볼륨 마운트에서 Google Secret Manager의 비밀에 액세스할 수 있는지 확인하세요.
다음 명령을 실행하여 Pod 마운트의 비밀을 나열합니다.
oc exec my-gcp-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
$ oc exec my-gcp-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
testsecret1
testsecret1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 포드 마운트에서 비밀을 확인하세요.
oc exec my-gcp-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/testsecret1
$ oc exec my-gcp-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/testsecret1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
<secret_value>
<secret_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.3.5. HashiCorp Vault의 비밀이 쌓이고 있습니다. 링크 복사링크가 클립보드에 복사되었습니다!
Secrets Store CSI Driver Operator를 사용하면 HashiCorp Vault에서 OpenShift Container Platform의 CSI(Container Storage Interface) 볼륨으로 비밀을 마운트할 수 있습니다.
Secrets Store CSI Driver Operator를 사용하여 HashiCorp Vault의 비밀을 마운트하는 기능은 다음 클라우드 공급자를 통해 테스트되었습니다.
- AWS(Amazon Web Services)
- Microsoft Azure
다른 클라우드 제공업체도 작동할 수 있지만 아직 테스트되지 않았습니다. 향후에 추가적인 클라우드 공급자를 테스트할 수도 있습니다.
사전 요구 사항
- Secrets Store CSI Driver Operator를 설치했습니다. 자세한 내용은 Secrets Store CSI 드라이버 설치를 참조하세요.
- Helm을 설치했습니다.
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
다음 명령을 실행하여 HashiCorp Helm 저장소를 추가합니다.
helm repo add hashicorp https://helm.releases.hashicorp.com
$ helm repo add hashicorp https://helm.releases.hashicorp.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Helm이 최신 버전을 인식하도록 모든 저장소를 업데이트합니다.
helm repo update
$ helm repo update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HashiCorp Vault 공급자를 설치하세요.
다음 명령을 실행하여 Vault에 대한 새 프로젝트를 만듭니다.
oc new-project vault
$ oc new-project vault
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Pod 보안 허용을 위한
볼트
네임스페이스에 레이블을 지정합니다.oc label ns vault security.openshift.io/scc.podSecurityLabelSync=false pod-security.kubernetes.io/enforce=privileged pod-security.kubernetes.io/audit=privileged pod-security.kubernetes.io/warn=privileged --overwrite
$ oc label ns vault security.openshift.io/scc.podSecurityLabelSync=false pod-security.kubernetes.io/enforce=privileged pod-security.kubernetes.io/audit=privileged pod-security.kubernetes.io/warn=privileged --overwrite
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
볼트
서비스 계정에 대한 특권 액세스 권한을 부여하세요.oc adm policy add-scc-to-user privileged -z vault -n vault
$ oc adm policy add-scc-to-user privileged -z vault -n vault
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
vault-csi-provider
서비스 계정에 대한 특권 액세스 권한을 부여합니다.oc adm policy add-scc-to-user privileged -z vault-csi-provider -n vault
$ oc adm policy add-scc-to-user privileged -z vault-csi-provider -n vault
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 HashiCorp Vault를 배포합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
securityContext를
privileged
로 설정하도록 설정된vault-csi-driver
데몬을 패치합니다.oc patch daemonset -n vault vault-csi-provider --type='json' -p='[{"op": "add", "path": "/spec/template/spec/containers/0/securityContext", "value": {"privileged": true} }]'
$ oc patch daemonset -n vault vault-csi-provider --type='json' -p='[{"op": "add", "path": "/spec/template/spec/containers/0/securityContext", "value": {"privileged": true} }]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
vault-csi-provider
포드가 제대로 시작되었는지 확인하세요.oc get pods -n vault
$ oc get pods -n vault
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE vault-0 1/1 Running 0 24m vault-csi-provider-87rgw 1/2 Running 0 5s vault-csi-provider-bd6hp 1/2 Running 0 4s vault-csi-provider-smlv7 1/2 Running 0 5s
NAME READY STATUS RESTARTS AGE vault-0 1/1 Running 0 24m vault-csi-provider-87rgw 1/2 Running 0 5s vault-csi-provider-bd6hp 1/2 Running 0 4s vault-csi-provider-smlv7 1/2 Running 0 5s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
필요한 비밀을 저장하도록 HashiCorp Vault를 구성합니다.
다음 명령을 실행하여 비밀을 생성합니다.
oc exec vault-0 --namespace=vault -- vault kv put secret/example1 testSecret1=my-secret-value
$ oc exec vault-0 --namespace=vault -- vault kv put secret/example1 testSecret1=my-secret-value
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
secret/example1
경로에서 비밀을 읽을 수 있는지 확인하세요.oc exec vault-0 --namespace=vault -- vault kv get secret/example1
$ oc exec vault-0 --namespace=vault -- vault kv get secret/example1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Kubernetes 인증을 사용하도록 Vault를 구성하세요.
다음 명령을 실행하여 Kubernetes 인증 방법을 활성화합니다.
oc exec vault-0 --namespace=vault -- vault auth enable kubernetes
$ oc exec vault-0 --namespace=vault -- vault auth enable kubernetes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Success! Enabled kubernetes auth method at: kubernetes/
Success! Enabled kubernetes auth method at: kubernetes/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes 인증 방법을 구성합니다.
다음 명령을 실행하여 토큰 검토자를 환경 변수로 설정합니다.
TOKEN_REVIEWER_JWT="$(oc exec vault-0 --namespace=vault -- cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
$ TOKEN_REVIEWER_JWT="$(oc exec vault-0 --namespace=vault -- cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Kubernetes 서비스 IP 주소를 환경 변수로 설정합니다.
KUBERNETES_SERVICE_IP="$(oc get svc kubernetes --namespace=default -o go-template="{{ .spec.clusterIP }}")"
$ KUBERNETES_SERVICE_IP="$(oc get svc kubernetes --namespace=default -o go-template="{{ .spec.clusterIP }}")"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Kubernetes 인증 방법을 업데이트합니다.
oc exec -i vault-0 --namespace=vault -- vault write auth/kubernetes/config \ issuer="https://kubernetes.default.svc.cluster.local" \ token_reviewer_jwt="${TOKEN_REVIEWER_JWT}" \ kubernetes_host="https://${KUBERNETES_SERVICE_IP}:443" \ kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
$ oc exec -i vault-0 --namespace=vault -- vault write auth/kubernetes/config \ issuer="https://kubernetes.default.svc.cluster.local" \ token_reviewer_jwt="${TOKEN_REVIEWER_JWT}" \ kubernetes_host="https://${KUBERNETES_SERVICE_IP}:443" \ kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Success! Data written to: auth/kubernetes/config
Success! Data written to: auth/kubernetes/config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여 애플리케이션에 대한 정책을 만듭니다.
oc exec -i vault-0 --namespace=vault -- vault policy write csi -<<EOF path "secret/data/*" { capabilities = ["read"] } EOF
$ oc exec -i vault-0 --namespace=vault -- vault policy write csi -<<EOF path "secret/data/*" { capabilities = ["read"] } EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Success! Uploaded policy: csi
Success! Uploaded policy: csi
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 애플리케이션에 액세스하기 위한 인증 역할을 만듭니다.
oc exec -i vault-0 --namespace=vault -- vault write auth/kubernetes/role/csi \ bound_service_account_names=default \ bound_service_account_namespaces=default,test-ns,negative-test-ns,my-namespace \ policies=csi \ ttl=20m
$ oc exec -i vault-0 --namespace=vault -- vault write auth/kubernetes/role/csi \ bound_service_account_names=default \ bound_service_account_namespaces=default,test-ns,negative-test-ns,my-namespace \ policies=csi \ ttl=20m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Success! Data written to: auth/kubernetes/role/csi
Success! Data written to: auth/kubernetes/role/csi
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 모든
볼트
포드가 제대로 실행되고 있는지 확인하세요.oc get pods -n vault
$ oc get pods -n vault
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE vault-0 1/1 Running 0 43m vault-csi-provider-87rgw 2/2 Running 0 19m vault-csi-provider-bd6hp 2/2 Running 0 19m vault-csi-provider-smlv7 2/2 Running 0 19m
NAME READY STATUS RESTARTS AGE vault-0 1/1 Running 0 43m vault-csi-provider-87rgw 2/2 Running 0 19m vault-csi-provider-bd6hp 2/2 Running 0 19m vault-csi-provider-smlv7 2/2 Running 0 19m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 모든
secrets-store-csi-driver
포드가 제대로 실행되고 있는지 확인하세요.oc get pods -n openshift-cluster-csi-drivers | grep -E "secrets"
$ oc get pods -n openshift-cluster-csi-drivers | grep -E "secrets"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
비밀 저장소 공급자를 정의하려면 비밀 공급자 클래스를 만듭니다.
SecretProviderClass
객체를 정의하는 YAML 파일을 만듭니다.예시
secret-provider-class-vault.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
SecretProviderClass
객체를 만듭니다.oc create -f secret-provider-class-vault.yaml
$ oc create -f secret-provider-class-vault.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 비밀 공급자 클래스를 사용하기 위해 배포를 만듭니다.
배포
객체를 정의하는 YAML 파일을 만듭니다.deployment.yaml
의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
배포
객체를 만듭니다.oc create -f deployment.yaml
$ oc create -f deployment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Pod 볼륨 마운트에서 HashiCorp Vault의 비밀에 액세스할 수 있는지 확인하세요.
다음 명령을 실행하여 Pod 마운트의 비밀을 나열합니다.
oc exec busybox-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
$ oc exec busybox-deployment-<hash> -n my-namespace -- ls /mnt/secrets-store/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
testSecret1
testSecret1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 포드 마운트에서 비밀을 확인하세요.
oc exec busybox-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/testSecret1
$ oc exec busybox-deployment-<hash> -n my-namespace -- cat /mnt/secrets-store/testSecret1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
my-secret-value
my-secret-value
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.4. Kubernetes 비밀로 마운트된 콘텐츠의 동기화 활성화 링크 복사링크가 클립보드에 복사되었습니다!
마운트된 볼륨의 콘텐츠에서 Kubernetes 비밀을 생성하기 위해 동기화를 활성화할 수 있습니다. 동기화를 활성화하려는 예로는 배포에서 환경 변수를 사용하여 Kubernetes 비밀을 참조하는 것입니다.
OpenShift Container Platform 클러스터와 etcd에 비밀을 저장하지 않으려면 동기화를 활성화하지 마세요. 비밀번호를 참조하기 위해 환경 변수를 사용하려는 경우처럼 필요한 경우에만 이 기능을 활성화하세요.
동기화를 활성화하면 비밀을 마운트하는 Pod를 시작한 후 마운트된 볼륨의 비밀이 Kubernetes 비밀로 동기화됩니다.
콘텐츠를 마운트한 모든 포드가 삭제되면 동기화된 Kubernetes 비밀도 삭제됩니다.
사전 요구 사항
- Secrets Store CSI Driver Operator를 설치했습니다.
- 비밀 저장소 제공자를 설치했습니다.
- 비밀 공급자 클래스를 생성했습니다.
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
다음 명령을 실행하여
SecretProviderClass
리소스를 편집합니다.oc edit secretproviderclass my-azure-provider
$ oc edit secretproviderclass my-azure-provider
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
my-azure-provider를
비밀 공급자 클래스의 이름으로 바꾸세요.
동기화된 Kubernetes 비밀에 대한 구성으로
secretsObjects
섹션을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장하여 변경 사항을 적용합니다.
2.7.5. Pod 볼륨 마운트에서 비밀 상태 보기 링크 복사링크가 클립보드에 복사되었습니다!
Pod 볼륨 마운트에서 비밀의 자세한 정보(버전 포함)를 볼 수 있습니다.
Secrets Store CSI Driver Operator는 Pod와 동일한 네임스페이스에 SecretProviderClassPodStatus
리소스를 생성합니다. 이 리소스를 검토하면 Pod 볼륨 마운트의 비밀에 대한 자세한 정보(버전 포함)를 확인할 수 있습니다.
사전 요구 사항
- Secrets Store CSI Driver Operator를 설치했습니다.
- 비밀 저장소 제공자를 설치했습니다.
- 비밀 공급자 클래스를 생성했습니다.
- Secrets Store CSI Driver Operator에서 볼륨을 마운트하는 Pod를 배포했습니다.
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
다음 명령을 실행하여 Pod 볼륨 마운트의 비밀에 대한 자세한 정보를 확인하세요.
oc get secretproviderclasspodstatus <secret_provider_class_pod_status_name> -o yaml
$ oc get secretproviderclasspodstatus <secret_provider_class_pod_status_name> -o yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 비밀 공급자 클래스 포드 상태 개체의 이름은
<pod_name>-<namespace>-<secret_provider_class_name>
형식입니다.
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.6. Secrets Store CSI 드라이버 운영자 제거 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
- OpenShift Container Platform 웹 콘솔에 액세스합니다.
- 클러스터에 대한 관리자 액세스.
프로세스
Secrets Store CSI Driver Operator를 제거하려면:
-
secrets-store.csi.k8s.io
공급자를 사용하는 모든 애플리케이션 포드를 중지합니다. - 선택한 비밀 저장소에 대한 타사 공급자 플러그인을 제거합니다.
컨테이너 스토리지 인터페이스(CSI) 드라이버와 관련 매니페스트를 제거합니다.
-
관리
CustomResourceDefinitions ClusterCSIDriver를 클릭합니다. - 인스턴스 탭에서 secrets-store.csi.k8s.io 의 맨 왼쪽에 있는 드롭다운 메뉴를 클릭한 다음 ClusterCSIDriver 삭제를 클릭합니다.
- 메시지가 표시되면 삭제를 클릭합니다.
-
관리
- CSI 드라이버 Pod가 더 이상 실행되지 않는지 확인합니다.
Secrets Store CSI Driver Operator를 설치 제거합니다.
참고Operator를 설치 제거하려면 CSI 드라이버를 먼저 제거해야 합니다.
-
Operators
설치된 Operators를 클릭합니다. - 설치된 운영자 페이지에서 스크롤하거나 이름으로 검색 상자에 "Secrets Store CSI"를 입력하여 운영자를 찾은 다음 클릭합니다.
-
설치된 운영자 > 운영자 세부 정보 페이지의 오른쪽 위에서 작업
운영자 제거를 클릭합니다. Operator 설치 제거 창이 표시되면 제거 버튼을 클릭하여 네임스페이스에서 Operator를 제거합니다. 클러스터에 Operator가 배포한 애플리케이션을 수동으로 정리해야 합니다.
제거 후 Secrets Store CSI Driver Operator는 더 이상 웹 콘솔의 설치된 운영자 섹션에 나열되지 않습니다.
-
Operators