이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
AWS Management Console에서 Kubernetes 리소스 보기
AWS Management Console을 사용하면 클러스터에 배포된 Kubernetes 리소스를 볼 수 있습니다. AWS CLI 또는 eksctl
참고
-
Amazon EKS 콘솔
을 엽니다. -
클러스터(Clusters) 목록에서 보려는 Kubernetes 리소스를 포함하는 클러스터를 선택합니다.
-
리소스(Resources) 탭을 선택합니다.
-
보려는 리소스에 대한 리소스 유형 그룹을 선택합니다(예: 워크로드). 해당 그룹의 리소스 유형 목록이 표시됩니다.
-
워크로드(Workloads) 그룹에서 리소스 유형을 선택합니다(예: 배포(Deployments)). 리소스 유형 설명, 리소스 유형의 자세한 내용이 있는 Kubernetes 설명서에 대한 링크, 클러스터에 배포된 해당 유형의 리소스 목록이 표시됩니다. 목록이 비어 있는 경우 클러스터에 배포된 해당 유형의 리소스가 없습니다.
-
이에 대한 자세한 내용을 확인하려면 리소스를 선택합니다. 다음 예제를 시도해 보세요.
-
워크로드 그룹을 선택하고, 배포 리소스 유형을 선택한 다음 coredns 리소스를 선택합니다. 리소스를 선택하면 기본적으로 구조화된 뷰에 있습니다. 일부 리소스 유형의 경우 구조화된 뷰의 포드 섹션이 표시됩니다. 이 섹션에서는 워크로드에 의해 관리되는 포드가 나열됩니다. 포드에 대한 정보를 보려면 나열된 모든 포드를 선택할 수 있습니다. 일부 리소스 유형의 정보가 구조적 뷰(Structured View)에 표시됩니다. 리소스 페이지의 오른쪽 상단 모서리에서 원시 뷰(Raw view)를 선택하는 경우 리소스에 대한 Kubernetes API의 전체 JSON 응답이 표시됩니다.
-
클러스터(Cluster) 그룹을 선택한 다음 노드(Nodes) 리소스 유형을 선택합니다. 클러스터에 모든 노드 목록이 표시됩니다. 노드는 모든 Amazon EKS 노드 유형일 수 있습니다. 이 목록은 클러스터의 컴퓨팅 탭을 선택하는 경우 노드 섹션에 표시되는 것과 동일한 목록입니다. 목록에서 노드 리소스를 선택합니다. 구조화된 뷰에 포드 섹션도 표시됩니다. 이 섹션에서는 노드에서 실행되는 모든 포드를 보여줍니다.
-
필수 권한
AWS Management Console의 컴퓨팅 탭에서 리소스 탭과 노드 섹션을 보려면 사용 중인 IAM 위탁자에 특정 최소 IAM 및 Kubernetes 권한이 있어야 합니다. IAM 및 Kubernetes RBAC 권한이 모두 올바르게 구성되어 있어야 합니다. IAM 보안 주체에 필요한 권한을 할당하려면 다음 단계를 완료하세요.
-
eks:AccessKubernetesApi및 Kubernetes 리소스를 보는 데 필요한 기타 IAM 권한이 사용 중인 IAM 위탁자에 할당되었는지 확인하세요. IAM 보안 주체의 권한을 편집하는 방법에 대한 자세한 내용은 IAM 사용 설명서의 보안 주체에 대한 액세스 제어 섹션을 참조하세요. 역할의 권한을 편집하는 방법에 대한 자세한 내용을 알아보려면 IAM 사용 설명서의 역할 권한 정책(콘솔) 수정을 참조하세요.다음 정책 예에는 계정의 모든 클러스터에 대한 Kubernetes 리소스를 보는 데 필요한 위탁자의 권한이 포함되어 있습니다.
111122223333을 AWS 계정 ID로 바꿉니다.{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:ListFargateProfiles", "eks:DescribeNodegroup", "eks:ListNodegroups", "eks:ListUpdates", "eks:AccessKubernetesApi", "eks:ListAddons", "eks:DescribeCluster", "eks:DescribeAddonVersions", "eks:ListClusters", "eks:ListIdentityProviderConfigs", "iam:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:GetParameter", "Resource": "arn:aws:ssm:*:111122223333:parameter/*" } ] }연결된 클러스터에서 노드를 보려면 Amazon EKS 커넥터 IAM 역할이 클러스터에서 보안 주체를 가장할 수 있어야 합니다. 그러면 Amazon EKS Connector에서 위탁자를 Kubernetes 사용자에게 매핑할 수 있습니다.
-
EKS 액세스 항목을 사용하여 Kubernetes RBAC 권한을 구성합니다.
EKS 액세스 항목이란 무엇인가요?
EKS 액세스 항목은 IAM 위탁자(사용자 및 역할)에게 Kubernetes 클러스터에 대한 액세스 권한을 부여하는 간소화된 방법입니다. Kubernetes RBAC 리소스와
aws-authConfigMap을 수동으로 관리하는 대신 액세스 항목은 AWS에서 제공하는 관리형 정책을 사용하여 IAM과 Kubernetes 권한 간 매핑을 자동으로 처리합니다. 액세스 항목에 대한 자세한 내용은 EKS 액세스 항목을 사용한 IAM 사용자에게 Kubernetes에 대한 액세스 권한 부여 섹션을 참조하세요. 사용 가능한 액세스 정책 및 권한에 대한 자세한 내용은 액세스 정책 권한을 참조하세요.두 가지 방법으로 액세스 항목에 Kubernetes 권한을 연결할 수 있습니다.
-
액세스 정책 사용: 액세스 정책은 AWS에서 유지 관리하는 사전 정의된 Kubernetes 권한 템플릿입니다. 여기에서는 일반적인 사용 사례에 대한 표준화된 권한 세트를 제공합니다.
-
Kubernetes 그룹 참조: IAM ID를 Kubernetes 그룹에 연결하는 경우 그룹 권한을 부여하는 Kubernetes 리소스를 생성할 수 있습니다. 자세한 내용은 Kubernetes 문서의 Using RBAC Authorization(RBAC 승인 사용)
을 참조하세요. -
AWS CLI를 사용하여 IAM 위탁자에 대한 액세스 항목을 생성하세요.
my-cluster를 해당 클러스터의 이름으로 바꿉니다.111122223333을 계정 ID로 바꿉니다.aws eks create-access-entry \ --cluster-name my-cluster \ --principal-arn arn:aws:iam::111122223333:role/my-console-viewer-role예제 출력은 다음과 같습니다.
{ "accessEntry": { "clusterName": "my-cluster", "principalArn": "arn:aws:iam::111122223333:role/my-console-viewer-role", "kubernetesGroups": [], "accessEntryArn": "arn:aws:eks:region-code:111122223333:access-entry/my-cluster/role/111122223333/my-console-viewer-role/abc12345-1234-1234-1234-123456789012", "createdAt": "2024-03-15T10:30:45.123000-07:00", "modifiedAt": "2024-03-15T10:30:45.123000-07:00", "tags": {}, "username": "arn:aws:iam::111122223333:role/my-console-viewer-role", "type": "STANDARD" } } -
정책을 액세스 항목에 연결하세요. Kubernetes 리소스를 보려면
AmazonEKSViewPolicy를 사용하세요.aws eks associate-access-policy \ --cluster-name my-cluster \ --principal-arn arn:aws:iam::111122223333:role/my-console-viewer-role \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy \ --access-scope type=cluster예제 출력은 다음과 같습니다.
{ "clusterName": "my-cluster", "principalArn": "arn:aws:iam::111122223333:role/my-console-viewer-role", "associatedAt": "2024-03-15T10:31:15.456000-07:00" }네임스페이스별 액세스의 경우 정책 범위를 특정 네임스페이스로 지정할 수 있습니다.
aws eks associate-access-policy \ --cluster-name my-cluster \ --principal-arn arn:aws:iam::111122223333:role/my-console-viewer-role \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy \ --access-scope type=namespace,namespaces=default,kube-system -
액세스 항목이 성공적으로 생성되었는지 확인하세요.
aws eks describe-access-entry \ --cluster-name my-cluster \ --principal-arn arn:aws:iam::111122223333:role/my-console-viewer-role -
연결된 정책을 나열하여 정책 연결을 확인하세요.
aws eks list-associated-access-policies \ --cluster-name my-cluster \ --principal-arn arn:aws:iam::111122223333:role/my-console-viewer-role예제 출력은 다음과 같습니다.
{ "associatedAccessPolicies": [ { "policyArn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy", "accessScope": { "type": "cluster" }, "associatedAt": "2024-03-15T10:31:15.456000-07:00", "modifiedAt": "2024-03-15T10:31:15.456000-07:00" } ] }
-
-
CloudTrail 가시성
Kubernetes 리소스를 볼 때 CloudTrail 로그에 다음 작업 이름이 표시됩니다.
-
AccessKubernetesApi- 리소스를 읽거나 보는 경우
이 CloudTrail 이벤트는 Kubernetes 리소스에 대한 읽기 액세스의 감사 추적을 제공합니다.
참고
이 작업 이름은 감사 목적으로만 CloudTrail 로그에 표시됩니다. 이는 IAM 작업이 아니며 IAM 정책 설명에 사용할 수 없습니다. IAM 정책을 통해 Kubernetes 리소스에 대한 읽기 액세스를 제어하려면 필수 권한 섹션에 나온 대로 eks:AccessKubernetesApi 권한을 사용합니다.