IBM Cloud Kubernetes Service의 클러스터 소유자가 인프라 권한을 잃은 경우 해결 방법
2645 단어 ibmcloudSoftLayerkubernetes
문제의 경위
IBM Cloud Kubernetes Service(이하 IKS)에는 클러스터 소유자라는 개념이 있습니다. 이는 클러스터를 주문할 때 IBM Cloud 사용자가 자동으로 설정됩니다. 소유자는 예를 들어 마스터 또는 작업자를 업그레이드하거나 StorageClass를 사용하여 IBM Cloud Storage를 동적으로 프로비저닝할 때 소유자 자신의 인프라 권한을 사용합니다(작업을 수행하는 사용자가 아님). 즉, 소유자가 적절한 인프라 권한을 갖고 있지 않으면 이러한 작업이 실패합니다.
이제 이 소유자가 되어 버린 사용자가 프로젝트를 이임했으므로 계정에서 지워졌다고 가정해 봅시다. 그러면 그 후 누군가가 버전업 등을 하려고 하면 권한을 가진 소유자가 없기 때문에 실패하게 됩니다.
그리고 어려움에 따라 클러스터 소유자는 나중에 변경할 수 없다고 지원에서 답변했습니다.
그렇기 때문에 이러한 상황이 되어 버렸을 때의 회피책입니다.
대응 방법
적절한 사용자 준비
향후 유지보수 작업에서 착임이나 이임에 영향을 받지 않는 고정 ID 사용자를 준비하는 것이 좋습니다. 준비가 되면 해당 사용자를 계정에 초대하고 필요한 인프라 권한을 부여합니다.
클래식 인프라 API 키 생성
해당 사용자로 IBM Cloud 콘솔에 로그인하고 메뉴에서 관리 → 액세스(IAM) → IBM Cloud API 키로 이동하십시오.
그러면 다음과 같이 "클래식 인프라 API 키 만들기"라는 버튼이 있으므로 누르십시오.
이 버튼이 표시되지 않으면 이미 API 키가 생성되었습니다.
API 키가 생성되면 고급 메뉴를 엽니다.
API 키의 주요 마크를 추측하면 키가 표시됩니다. 여기서 API 사용자 이름과 API 키 값을 삼가해 주십시오.
클러스터에 API 키 설정
클러스터에 대한 관리 권한이 있는 사용자가 IBM Cloud CLI를 사용합니다. 다음 명령을 실행합니다.
$ ibmcloud ks credential set classic --infrastructure-api-key ${APIキー} --infrastructure-username ${APIユーザー名}
$ ibmcloud ks api-key-reset
마지막 api-key-reset을 잊지 마십시오. 이것을 치지 않으면 반영되지 않습니다.
설정 반영 확인
설정은 즉시 반영되지 않습니다. 다음 명령을 정기적으로 실행합니다.
kubectl get secret storage-secret-store -n kube-system -o yaml | grep slclient.toml: | awk '{print $2}' | base64 --decode
그러면 다음과 같이 표시된다고 생각합니다.
[Softlayer]
encryption = true
softlayer_username = ""
softlayer_api_key = ""
정기적으로 커맨드를 계속 치고, 다음과 같은 표시가 되면 설정 반영은 완료입니다. 체감적으로는 몇분~10분 가까이 걸린 것 같습니다.
[Softlayer]
encryption = true
softlayer_username = "${APIユーザー名}"
softlayer_api_key = "${APIキー}"
softlayer_endpoint_url = "https://api.service.softlayer.com/rest/v3"
이제 이후 버전의 클러스터를 업그레이드하거나 스토리지를 동적으로 프로비저닝할 때 이 API 키를 사용할 수 있습니다.
이상입니다.
Reference
이 문제에 관하여(IBM Cloud Kubernetes Service의 클러스터 소유자가 인프라 권한을 잃은 경우 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/teruq/items/c5e00587bc52fb14761e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
적절한 사용자 준비
향후 유지보수 작업에서 착임이나 이임에 영향을 받지 않는 고정 ID 사용자를 준비하는 것이 좋습니다. 준비가 되면 해당 사용자를 계정에 초대하고 필요한 인프라 권한을 부여합니다.
클래식 인프라 API 키 생성
해당 사용자로 IBM Cloud 콘솔에 로그인하고 메뉴에서 관리 → 액세스(IAM) → IBM Cloud API 키로 이동하십시오.
그러면 다음과 같이 "클래식 인프라 API 키 만들기"라는 버튼이 있으므로 누르십시오.
이 버튼이 표시되지 않으면 이미 API 키가 생성되었습니다.
API 키가 생성되면 고급 메뉴를 엽니다.
API 키의 주요 마크를 추측하면 키가 표시됩니다. 여기서 API 사용자 이름과 API 키 값을 삼가해 주십시오.
클러스터에 API 키 설정
클러스터에 대한 관리 권한이 있는 사용자가 IBM Cloud CLI를 사용합니다. 다음 명령을 실행합니다.
$ ibmcloud ks credential set classic --infrastructure-api-key ${APIキー} --infrastructure-username ${APIユーザー名}
$ ibmcloud ks api-key-reset
마지막 api-key-reset을 잊지 마십시오. 이것을 치지 않으면 반영되지 않습니다.
설정 반영 확인
설정은 즉시 반영되지 않습니다. 다음 명령을 정기적으로 실행합니다.
kubectl get secret storage-secret-store -n kube-system -o yaml | grep slclient.toml: | awk '{print $2}' | base64 --decode
그러면 다음과 같이 표시된다고 생각합니다.
[Softlayer]
encryption = true
softlayer_username = ""
softlayer_api_key = ""
정기적으로 커맨드를 계속 치고, 다음과 같은 표시가 되면 설정 반영은 완료입니다. 체감적으로는 몇분~10분 가까이 걸린 것 같습니다.
[Softlayer]
encryption = true
softlayer_username = "${APIユーザー名}"
softlayer_api_key = "${APIキー}"
softlayer_endpoint_url = "https://api.service.softlayer.com/rest/v3"
이제 이후 버전의 클러스터를 업그레이드하거나 스토리지를 동적으로 프로비저닝할 때 이 API 키를 사용할 수 있습니다.
이상입니다.
Reference
이 문제에 관하여(IBM Cloud Kubernetes Service의 클러스터 소유자가 인프라 권한을 잃은 경우 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/teruq/items/c5e00587bc52fb14761e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)