스토리지를 관리하고 PVC를 작성하는 데 필요한 권한은 무엇입니까?
영구 볼륨 클레임에 대한 권한 오류 해결.
가상 사설 클라우드 전통적인 인프라
PVC 작성 시 PVC의 상태는 보류 중입니다. oc describe pvc <pvc_name>을 실행할 때 다음과 유사한 오류 메시지가 표시됩니다.
User doesn't have permissions to create or manage Storage
IAM API 키 또는 클러스터의 storage-secret-store Kubernetes 시크릿에 저장된 IBM Cloud 인프라 API 키에는 지속적 스토리지를 프로비저닝하는 데 필요한 모든 권한이 없습니다.
클러스터의 storage-secret-store Kubernetes 시크릿에 저장된 IBM Cloud 인프라 API 키 또는 IAM 키를 검색하고 올바른 API 키가 사용되는지 확인하십시오.
-
다음 명령을 실행하여
storage-secret-store비밀키에 저장된 API 키를 가져옵니다.명령 예
oc get secret storage-secret-store -n kube-system -o yaml | grep slclient.toml: | awk '{print $2}' | base64 --decode출력 예
[Bluemix] iam_url = "https://iam.cloud.ibm.com" iam_client_id = "bx" iam_client_secret = "bx" iam_api_key "IAM-API-KEY" refresh_token = "" pay_tier = "paid" containers_api_route = "https://us-south.containers.cloud.ibm.com" encryption = true containers_api_route_private = "https://private.us-south.containers.cloud.ibm.com" [Softlayer] encryption = true softlayer_username = "" softlayer_api_key = "" softlayer_endpoint_url = "https://api.service.softlayer.com/rest/v3" softlayer_iam_endpoint_url = "https://api.service.softlayer.com/mobile/v3" softlayer_datacenter = "dal10" softlayer_token_exchange_endpoint_url = "https://iam.cloud.ibm.com" [VPC] g2_token_exchange_endpoint_url = "https://iam.bluemix.net" g2_riaas_endpoint_url = "https://us-south.iaas.cloud.ibm.com" g2_riaas_endpoint_private_url = "https://us-south.private.iaas.cloud.ibm.com" g2_resource_group_id = "............" g2_api_key = ".............." encryption = true provider_type = "g2" iks_token_exchange_endpoint_private_url = "https://private.us-south.containers.cloud.ibm.com"IAM API 키는 CLI 출력의
Bluemix.iam_api_key섹션에 나열되어 있습니다. 동시에Softlayer.softlayer_api_key가 비어 있으면 인프라 권한을 결정하는 데 IAM API 키가 사용됩니다. IAM API 키는 리소스 그룹 및 지역에서 IAM 관리자 플랫폼 액세스 역할이 필요한 첫 번째 조치를 실행하는 사용자가 자동으로 설정합니다. 서로 다른 API 키가Softlayer.softlayer_api_key에 설정되면 이 키는 IAM API 키보다 우선합니다. 클러스터 관리자가Softlayer.softlayer_api_key명령을 실행하면ibmcloud oc credentials-set가 설정됩니다. -
지원팀에 문의해야 하는 경우 다음 명령을 사용하여 클러스터 비밀에서 자격 증명을 가져와서 키를 찾은 다음 해시할 수 있습니다. 이 단계를 통해 실수로 API 키를 지원 케이스에 붙여넣는 것을 방지할 수 있습니다. 다음 명령을 실행하여 클러스터에 저장된 현재 키를 검색합니다.
oc get secret -n kube-system storage-secret-store -o custom-columns=:.data.slclient\\.toml | base64 -d | grep g2_api_key | md5sum -
인증 정보를 변경하려면 사용되는 API 키를 업데이트하십시오.
- 계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
- IAM API 키를 업데이트하려면
ibmcloud oc api-key reset명령을 사용하십시오. IBM Cloud 인프라 키를 업데이트하려면ibmcloud oc credential set명령을 사용하십시오. storage-secret-storeKubernetes 시크릿이 업데이트될 때까지 약 10 - 15분 동안 기다린 후 키가 업데이트되었는지 확인하십시오.
oc get secret storage-secret-store -n kube-system -o yaml | grep slclient.toml: | awk '{print $2}' | base64 --decode ``` -
API 키가 올바른 경우 키에 지속적 스토리지를 프로비저닝할 수 있는 올바른 권한이 있는지 확인하십시오.
- API 키의 권한을 확인하려면 계정 소유자에게 문의하십시오.
- 계정 소유자는 IBM Cloud 콘솔의 탐색 메뉴에서 [관리 ] > [액세스(IAM)] 을 선택하십시오.
- 사용자를 선택하고 API 키를 사용할 사용자를 찾으십시오.
- 조치 메뉴에서 사용자 세부사항 관리를 선택하십시오.
- 클래식 인프라 탭으로 이동하십시오.
- 계정 카테고리를 펼치고 스토리지(스토리지 계층) 추가/업그레이드 권한이 지정되었는지 확인하십시오.
- 서비스 카테고리를 펼치고 스토리지 관리 권한이 지정되었는지 확인하십시오.
-
실패한 PVC를 제거하십시오.
oc delete pvc <pvc_name> -
PVC를 다시 작성하십시오.
oc apply -f pvc.yaml