왜 클러스터나 워커 노드를 생성하거나 삭제할 수 없나요?
클러스터 생성 또는 삭제 시 발생하는 문제를 해결합니다.
클러스터에서 다음과 같은 인프라 관련 명령을 수행할 수 없습니다.
- 기존 클러스터에 워커 노드를 추가하거나 새 클러스터를 생성할 때.
- 작업자 노드를 제거 중입니다.
- 워커 노드를 다시 로드하거나 재부팅 중입니다.
- 작업자 풀의 크기를 조정합니다.
- 클러스터를 업데이트하는 중입니다.
- 클러스터를 삭제하는 중입니다.
Review the error messages in the following sections to troubleshoot infrastructure-related issues that are caused by incorrect cluster permissions, orphaned clusters in other infrastructure accounts, or a time-based one-time passcode (TOTP) on the account.
권한 및 신임 정보 오류로 인해 클러스터 또는 작업자 노드를 작성하거나 삭제할 수 없음
클러스터의 작업자 노드를 관리할 수 없으며 permissions, credentials, SoftLayer, API keys 또는 role 와 같은 오류 메시지가 표시됩니다.
권한 및 자격 증명 오류 의 정보를 검토하고 관련 단계를 따르세요.
올바르지 않은 계정 오류로 인해 작업자 노드를 작성 또는 삭제할 수 없음
클래식 인프라
클래식 IBM Cloud 인프라 계정에서는 클러스터의 워커 노드를 관리하거나 클러스터의 워커 노드를 확인할 수 없습니다. 그러나 계정 내의 다른 클러스터는 업데이트하고 관리할 수 있습니다.
또한 자신에게 적절한 인프라 인증 정보가 있음을 확인했습니다.
워커 노드 상태에서 다음과 같은 예시와 유사한 오류 메시지가 표시될 수 있습니다.
incorrect account for worker - The 'classic' infrastructure user credentials changed and no longer match the worker node instance infrastructure account.
클러스터가 사용자의 Red Hat OpenShift on IBM Cloud 계정에 더 이상 연결되어 있지 않은 클래식 IBM Cloud 인프라 계정에 프로비저닝되는 경우가 있습니다. 이 경우 해당 클러스터는 고아 상태가 됩니다. 리소스가 다른 계정에 속해 있으므로 사용자에게 이러한 리소스를 수정하는 데 필요한 인프라 인증 정보가 없습니다.
클러스터가 고아 상태가 될 수 있는 경우에 대해 이해하기 위해서는 다음 예제 시나리오를 고려하십시오.
- 사용자에게 IBM Cloud 종량과금제 계정이 있습니다.
- 사용자가
Cluster1이라는 클러스터를 작성합니다. 작업자 노드 및 기타 인프라 리소스가 종량과금제 계정과 함께 제공된 인프라 계정에 프로비저닝됩니다. - 사용자는 나중에 사용자의 팀이 레거시 또는 공유 클래식 IBM Cloud 인프라 계정을 사용함을 발견합니다. 사용자는
ibmcloud oc credential set명령을 사용하여 팀 계정 사용을 위한 IBM Cloud 인프라 인증 정보를 변경합니다. - 사용자가
Cluster2라는 다른 클러스터를 작성합니다. 작업자 노드 및 기타 인프라 리소스가 팀 인프라 계정에 프로비저닝됩니다. - 사용자가
Cluster1에 작업자 노드 업데이트 또는 작업자 노드 다시 로드를 수행하려 하거나, 그냥 이를 삭제하여 정리하고자 합니다. 그러나Cluster1은 다른 인프라 계정에 프로비저닝되었으므로 해당 인프라 리소스를 수정할 수 없습니다.Cluster1이 고아 상태가 된 것입니다. - 다음 섹션의 해결 단계를 따르지만 인프라 인증 정보를 다시 팀 계정으로 설정하지 않습니다. 사용자는
Cluster1를 삭제할 수는 있지만 이제Cluster2가 고아 상태가 됩니다. - 사용자가
Cluster2를 작성한 팀 계정으로 인프라 인증 정보를 다시 변경합니다. 이제는 고아 클러스터가 없습니다.
단계에 따라 인프라 인증 정보를 검토하고 인증 정보 오류가 표시되는 이유를 판별하십시오.
-
콘솔에 로그인합니다.
-
클러스터가 현재 있는 영역이 클러스터를 프로비저닝하는 데 어느 인프라 계정을 사용하는지 확인하십시오.
REGION을 클러스터가 있는 IBM Cloud 지역으로 대체하십시오.ibmcloud oc credential get --region REGION다음과 유사한 메시지가 표시되면 계정이 링크된 기본 인프라 계정을 사용합니다.
No credentials set for resource group <resource group>.: The user credentials could not be found. -
클러스터를 프로비저닝하는 데 어느 인프라 계정이 사용되었는지 확인하십시오.
- 작업자 노드 탭에서 작업자 노드를 선택하고 해당 ID를 기록하십시오.
열고 ‘인프라 > 클래식 인프라’를 클릭합니다.
- 인프라 탐색 창에서 [장치] > [장치 목록 ]을 클릭합니다.
- 이전에 기록한 작업자 노드 ID를 검색하십시오.
- 해당 작업자 노드 ID를 찾을 수 없는 경우에는 이 작업자 노드가 이 인프라 계정에 프로비저닝되지 않은 것입니다. 다른 인프라 계정으로 전환하고 다시 시도하십시오.
-
인프라 계정을 비교하십시오.
-
작업자 노드가 연결된 인프라 계정에 있는 경우:
ibmcloud oc credential unset명령을 사용하여 종량과금제 계정과 연결된 기본 인프라 인증 정보 사용을 재개하십시오. -
작업자 노드가 다른 인프라 계정에 있는 경우:
ibmcloud oc credential set명령을 사용하여 이전 단계에서 찾은, 클러스터 작업자 노드가 프로비저닝된 계정으로 인프라 인증 정보를 변경하십시오.인프라 인증 정보에 더 이상 액세스할 수 없는 경우 IBM Cloud 지원 케이스를 열어서 다른 인프라 계정의 관리자에 대한 이메일 주소를 판별할 수 있습니다. 그러나 IBM Cloud 지원에서는 고아 클러스터를 제거할 수 없으며 인프라 인증 정보를 가져오려면 다른 계정의 관리자에게 문의해야 합니다.
-
인프라 계정이 일치하는 경우: 클러스터 내의 나머지 워커 노드를 확인하여 다른 인프라 계정에 할당된 노드가 있는지 확인하십시오. 클러스터 내에서 자격 증명 문제가 있는 워커 노드를 모두 확인했는지 확인하십시오. 기타 일반 인프라 인증 정보 문제를 검토하십시오.
-
-
인프라 인증 정보가 업데이트되었으므로 차단된 조치(예: 작업자 노드 업데이트 또는 삭제)를 재시도하고 조치에 성공했는지 확인하십시오.
-
이전 인프라 인증 정보가 필요한 동일한 지역 및 리소스에 다른 클러스터가 있는 경우 3단계를 반복하여 인프라 인증 정보를 이전 계정으로 재설정하십시오. 전환한 계정과 다른 인프라 계정으로 클러스터를 작성한 경우에는 이러한 클러스터가 고아 상태가 될 수 있다는 점을 유의하십시오.
클러스터 또는 작업자 조치를 수행해야 할 때마다 인프라 계정을 전환하기가 힘드십니까? 동일한 인프라 계정의 지역 및 리소스 그룹에 있는 모든 클러스터를 다시 작성하는 것이 좋습니다. 그런 다음 워크로드를 마이그레이션하고 다른 인프라 계정에서 이전 클러스터를 제거하십시오.
엔드포인트 오류로 인해 작업자 노드를 작성하거나 삭제할 수 없음
클러스터에 대한 작업자 노드를 관리할 수 없으며 다음 중 하나와 유사한 오류 메시지를 수신합니다.
Worker deploy failed due to network communications failing to master or registry endpoints. Please verify your network setup is allowing traffic from this subnet then attempt a worker replace on this worker
Pending endpoint gateway creation
워커 노드는 클러스터의 가상 사설 엔드포인트(VPE)를 통해 Kubernetes 마스터와 통신할 수 있습니다.
VPC에서 클러스터당 하나의 VPE 게이트웨이 리소스가 작성됩니다. 클러스터의 VPE 게이트웨이가 VPC에서 올바르게 작성되지 않은 경우, VPC에서 VPE 게이트웨이가 삭제되거나 VPE에 대해 예약된 IP 주소가 VPC 서브넷에서 삭제되면, 작업자 노드에서 Kubernetes 마스터와의 연결이 끊어집니다.
작업자 노드와 Kubernetes 마스터 간의 VPE 연결을 다시 설정하십시오.
-
VPC 인프라 콘솔에서 클러스터의 VPE 게이트웨이를 확인하려면 ‘VPC용 가상 사설 엔드포인트 게이트웨이’ 대시보드를 열고,
iks-<cluster_ID>형식의 VPE 게이트웨이를 찾으십시오.- 클러스터에 대한 게이트웨이가 나열되어 있지 않으면 다음 단계로 진행하십시오.
- 클러스터에 대한 게이트웨이가 나열되어 있으나 상태가
Stable이 아니면 지원 케이스를 여십시오. 케이스 세부사항에 클러스터 ID를 포함시키십시오. - 클러스터에 대한 게이트웨이가 나열되고 상태가
Stable이면 클러스터 마스터에 대한 작업자 노드 통신을 차단하는 보안 그룹 규칙 또는 방화벽이 있을 수 있습니다. 적절한 포트 및 IP 주소로의 발신 트래픽을 허용하는 보안 그룹 규칙을 구성하십시오.
-
클러스터 마스터를 새로 고치십시오. VPC에 VPE 게이트웨이가 없는 경우, 해당 게이트웨이가 생성되며, 워커 노드가 연결된 서브넷의 예약된 IP 주소에 대한 연결이 다시 설정됩니다. 클러스터를 새로 고친 후에 조작이 완료될 때까지 몇 분 동안 대기하십시오.
ibmcloud oc cluster master refresh -c <cluster_name_or_ID> -
“VPC용 가상 사설 엔드포인트 게이트웨이” 대시보드를 열고,
iks-<cluster_ID>형식의 VPE 게이트웨이가 있는지 확인하여 클러스터에 대한 VPE 게이트웨이가 생성되었는지 확인하십시오. -
클러스터 마스터를 새로 고친 후에도 작업자 노드를 관리할 수 없으면 액세스할 수 없는 작업자 노드를 교체하십시오.
- 클러스터의 모든 작업자 노드를 나열하고 대체할 작업자 노드의 이름을 기록해 두십시오.
oc get nodes ``` 이 명령에서 리턴되는 **이름**은 작업자 노드에 지정된 사설 IP 주소입니다. `ibmcloud oc worker ls --cluster <cluster_name_or_ID>` 명령을 실행하고 동일한 **사설 IP 주소**로 작업자 노드를 검색하면 작업자 노드에 대한 자세한 정보를 찾을 수 있습니다. 2. 작업자 노드를 대체하십시오. 대체 프로세스의 일부로, 작업자 노드에서 실행되는 팟은 비워지고 클러스터의 나머지 작업자 노드로 다시 스케줄됩니다. 또한 작업자 노드는 차단되거나 차후 팟(Pod) 스케줄링에 대해 사용 불가능으로 표시됩니다. `ibmcloud oc worker ls --cluster <cluster_name_or_ID>` 명령에서 리턴되는 작업자 노드 ID를 사용하십시오. ```sh {: pre} ibmcloud oc worker replace --cluster <cluster_name_or_ID> --worker <worker_node_ID> ``` 3. 작업자 노드가 대체되었는지 확인하십시오. ```sh {: pre} ibmcloud oc worker ls --cluster <cluster_name_or_ID> ```
유료 계정 또는 일회성 비밀번호 오류로 인해 작업자 노드를 작성 또는 삭제할 수 없음
클래식 인프라
클러스터의 워커 노드를 관리할 수 없으며, 다음 예시와 유사한 오류 메시지가 표시됩니다.
Unable to connect to the IBM Cloud account. Ensure that you have a paid account.
can't authenticate the infrastructure user: Time-based One Time Password authentication is required to log in with this user.
IBM Cloud 계정은 종량과금제 계정을 통해 자동으로 링크된 고유 인프라를 사용합니다.
그러나 관리자는 로그인 시 사용자에게 시간 기반의 일회성 패스코드(TOTP)의 프롬프트가 표시되도록 시간 기반의 일회성 패스코드(TOTP) 옵션을 사용으로 설정했습니다. 이러한 유형의 다단계 인증(MFA)은 계정 기반이며 계정에 대한 모든 액세스에 영향을 줍니다. TOTP MFA는 IBM Cloud Kubernetes Service 인프라를 호출하기 위해 IBM Cloud에 필요한 액세스에도 영향을 줍니다. TOTP가 계정에 사용 가능한 경우 IBM Cloud Kubernetes Service에서 클러스터와 작업자 노드를 작성 및 관리할 수 없습니다.
IBM Cloud 계정 소유자 또는 계정 관리자는 다음 조치 중 하나를 취해야 합니다.
- 계정에 대한 TOTP를 사용 안함으로 설정하고 IBM Cloud Kubernetes Service에 대해 자동으로 연결된 인프라 인증 정보를 계속해서 사용합니다.
- TOTP를 계속해서 사용하지만 IBM Cloud Kubernetes Service가 IBM Cloud 인프라 API를 직접 호출하는 데 사용할 수 있는 인프라 API 키를 작성합니다.
계정에 대해 TOTP MFA 사용 안함
- IBM Cloud 콘솔에 로그인하십시오. 메뉴 모음에서 [관리] > [액세스(IAM) ]을 선택합니다.
- 설정 페이지를 클릭하십시오.
- 다단계 인증에서 편집을 클릭하십시오.
- 없음을 선택하고 업데이트를 클릭하십시오.
TOTP MFA를 사용하여 IBM Cloud Kubernetes Service 에 대한 인프라 API키 작성
-
콘솔에서 IBM Cloud 콘솔에서 [ 관리 ] > [액세스(IAM)] > [사용자]를 선택한 다음 계정 소유자의 이름을 클릭하십시오. 참고: 계정 소유자의 자격 증명을 사용하지 않는 경우에는 자격 증명을 사용하는 아이디가 IBM Cloud Kubernetes Service 에서 관리자 플랫폼 역할을, 서비스 ID를 사용하는 경우에는 IAM Identity Service 에서 운영자 플랫폼 역할을 가지고 있는지 확인하세요.
-
**API 키 ** 섹션에서 클래식 인프라 API 키를 찾거나 작성하십시오.
-
인프라 API 키를 사용하여 IBM Cloud Kubernetes Service에 대한 인프라 API 인증 정보를 설정하십시오. 클러스터를 작성하는 각 지역에 대해 이 명령을 반복하십시오.
ibmcloud oc credential set classic --infrastructure-username <infrastructure_API_username> --infrastructure-api-key <infrastructure_API_authentication_key> --region <region> -
올바른 인증 정보가 설정되었는지 확인하십시오.
ibmcloud oc credential get --region <region>출력 예
Infrastructure credentials for user name user@email.com set for resource group default. -
기존 클러스터가 업데이트된 인프라 API 인증 정보를 사용하는지 확인하려면 클러스터가 있는 각 지역에서
ibmcloud oc api-key reset --region <region>을 실행하십시오.