이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
EKS 기능 문제 해결
이 주제에서는 기능 상태 확인, 일반적인 문제 및 기능별 문제 해결 링크를 포함하여 EKS 기능에 대한 일반적인 문제 해결 지침을 제공합니다.
참고
EKS 기능은 완전관리형 기능이며, 클러스터 외부에서 실행됩니다. 사용자는 컨트롤러 로그 또는 컨트롤러 네임스페이스에 대한 액세스 권한이 없습니다. 문제 해결에서는 기능 상태, 리소스 상태 및 구성에 중점을 둡니다.
일반적인 문제 해결 접근 방식
EKS 기능 문제를 해결하는 경우 다음과 같은 일반적인 접근 방식을 따릅니다.
-
기능 상태 확인:
aws eks describe-capability를 사용하여 기능 상태 및 상태 문제 보기 -
리소스 상태 확인: 생성한 Kubernetes 리소스(CRD)에서 상태 조건 및 이벤트 확인
-
IAM 권한 검토: 기능 역할에 필요한 권한이 있는지 확인
-
구성 확인: 기능별 구성이 올바른지 확인
기능 상태 확인
모든 EKS 기능은 EKS 콘솔 및 describe-capability API를 통해 상태 정보를 제공합니다.
콘솔:
-
https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.
-
클러스터 이름을 선택하세요.
-
관찰성 탭을 선택합니다.
-
클러스터 모니터링을 선택합니다.
-
기능 탭을 선택하여 모든 기능의 상태를 보세요.
기능 탭에는 다음이 표시됩니다.
-
기능 이름 및 유형
-
현재 상태
-
상태 문제(설명 포함)
AWS CLI:
aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name
응답에는 다음이 포함됩니다.
-
status: 현재 기능 상태(
CREATING,ACTIVE,UPDATING,DELETING,CREATE_FAILED,UPDATE_FAILED) -
health: 기능에서 감지한 문제를 포함한 상태 정보
공통 기능 상태
CREATING: 기능이 설정 중입니다.
ACTIVE: 기능이 실행 중이며 사용할 준비가 되었습니다. 리소스가 예상대로 작동하지 않는 경우 리소스 상태 및 IAM 권한을 확인합니다.
UPDATING: 구성 변경 사항이 적용 중입니다. ACTIVE 상태로 돌아갈 때까지 기다립니다.
CREATE_FAILED 또는 UPDATE_FAILED: 설정 또는 업데이트에서 오류가 발생했습니다. 자세한 내용은 상태 섹션을 참조하세요. 일반적인 원인:
-
IAM 역할 신뢰 정책이 잘못되었거나 누락됨
-
IAM 역할이 없거나 이에 액세스할 수 없음
-
클러스터 액세스 문제
-
유효하지 않은 구성 파라미터
Kubernetes 리소스 상태 확인
EKS 기능은 클러스터에서 Kubernetes 사용자 지정 리소스 정의(CRD)를 생성 및 관리합니다. 문제 해결 시 생성한 리소스의 상태를 확인합니다.
# List resources of a specific type kubectl getresource-kind-A # Describe a specific resource to see conditions and events kubectl describeresource-kindresource-name-nnamespace# View resource status conditions kubectl getresource-kindresource-name-nnamespace-o jsonpath='{.status.conditions}' # View events related to the resource kubectl get events --field-selector involvedObject.name=resource-name-nnamespace
리소스 상태 조건에서는 다음에 대한 정보를 제공합니다.
-
리소스 준비 여부
-
발생한 모든 오류
-
현재 조정 상태
IAM 권한 및 클러스터 액세스 검토
많은 기능 문제는 IAM 권한 문제 또는 클러스터 액세스 구성 누락으로 인해 발생합니다. 기능 역할 권한과 클러스터 액세스 항목을 모두 확인합니다.
IAM 역할 권한 확인
기능 역할에 필요한 권한이 있는지 확인합니다.
# List attached managed policies aws iam list-attached-role-policies --role-namemy-capability-role# List inline policies aws iam list-role-policies --role-namemy-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-capability-role--policy-namepolicy-name# View the role's trust policy aws iam get-role --role-namemy-capability-role--query 'Role.AssumeRolePolicyDocument'
이 신뢰 정책에서는 capabilities.eks.amazonaws.com 서비스 위탁자를 허용해야 합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
EKS 액세스 항목 및 액세스 정책 확인
모든 기능에는 해당 기능이 작동하는 클러스터에 적절한 EKS 액세스 항목 및 액세스 정책이 필요합니다.
액세스 항목이 있는지 확인:
aws eks list-access-entries \ --cluster-namemy-cluster\ --regionregion-code
목록에서 기능 역할 ARN을 찾습니다. 누락된 경우 기능은 클러스터에 액세스할 수 없습니다.
항목에 연결된 액세스 정책 확인:
aws eks list-associated-access-policies \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::111122223333:role/my-capability-role\ --regionregion-code
모든 기능에는 적절한 액세스 정책이 필요합니다.
-
ACK: Kubernetes 리소스를 생성 및 관리할 권한이 필요함
-
kro: Kubernetes 리소스를 생성 및 관리할 권한이 필요함
-
Argo CD: 애플리케이션을 생성 및 관리할 수 있는 권한과 다중 클러스터 배포를 위한 원격 대상 클러스터의 액세스 항목이 필요함
Argo CD 다중 클러스터 배포의 경우:
원격 클러스터에 배포하는 경우 기능 역할에서 각 대상 클러스터에 액세스 항목이 있는지 확인합니다.
# Check Access Entry on target cluster aws eks describe-access-entry \ --cluster-nametarget-cluster\ --principal-arnarn:aws:iam::111122223333:role/argocd-capability-role\ --regionregion-code
대상 클러스터에서 액세스 항목이 누락된 경우 Argo CD는 여기에 애플리케이션을 배포할 수 없습니다. 구성에 대한 자세한 내용은 대상 클러스터 등록 섹션을 참조하세요.
기능별 문제 해결
각 기능 유형과 관련된 자세한 문제 해결 지침은 다음을 참조하세요.
-
ACK 기능 관련 문제 해결 - ACK 리소스 생성, IAM 권한 및 교차 계정 액세스 문제 해결
-
Argo CD 기능 관련 문제 해결 - 애플리케이션 동기화, 리포지토리 인증 및 다중 클러스터 배포 문제 해결
-
kro 기능 관련 문제 해결 - ResourceGraphDefinitions, CEL 표현식 및 RBAC 권한 문제 해결
모든 기능에서 일반적인 문제
기능이 CREATING 상태에서 멈춤
기능이 CREATING 상태를 예상보다 오래 유지하는 경우:
-
콘솔(관찰성 > 클러스터 모니터링 > 기능 탭)에서 또는 AWS CLI를 사용하여 기능 상태에 특정 문제가 있는지 확인
aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name \ --query 'capability.health' -
IAM 역할이 있고 올바른 신뢰 정책을 포함하는지 확인
-
클러스터에 액세스할 수 있고 정상인지 확인
-
기능 설정을 방해할 수 있는 클러스터 수준 문제가 있는지 확인
리소스가 생성되거나 업데이트되지 않음
기능이 ACTIVE이지만 리소스가 생성되거나 업데이트되지 않는 경우:
-
리소스 상태에 오류 조건이 있는지 확인
-
특정 AWS 서비스(ACK) 또는 리포지토리(Argo CD)에 대한 IAM 권한 확인
-
기본 리소스 생성에 대한 RBAC 권한 확인(kro)
-
검증 오류에 대해 리소스 사양 검토
기능 상태에서 문제를 표시함
describe-capability에서 상태 문제를 표시하는 경우:
-
문제 설명을 주의 깊게 읽기(종종 특정 문제를 나타냄)
-
근본 원인(IAM 권한, 구성 오류 등) 해결
-
문제가 해결되면 기능이 자동으로 복구됨
다음 단계
-
기능 리소스 작업 - 기능 리소스 관리
-
ACK 기능 관련 문제 해결 - ACK 특정 문제 해결
-
Argo CD 기능 관련 문제 해결 - Argo CD 특정 문제 해결
-
kro 기능 관련 문제 해결 - kro 특정 문제 해결
-
EKS 기능에 대한 보안 고려 사항 - 기능에 대한 보안 모범 사례