이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
이 자습서에서는 EKS Auto Mode 클러스터에 샘플 워크로드를 배포하고 필요한 컴퓨팅 리소스를 자동으로 프로비저닝하는 방법을 알아봅니다. kubectl
명령을 사용하여 클러스터의 동작을 관찰하고 Auto Mode가 AWS에서 Kubernetes 작업을 간소화하는 방법을 직접 확인할 수 있습니다. 이 자습서를 마치면 수동 노드 그룹 구성 없이 기본 컴퓨팅 리소스를 자동으로 관리하여 EKS Auto Mode가 워크로드 배포에 대응하는 방식을 이해할 수 있습니다.
사전 조건
-
Amazon EKS Auto Mode 클러스터의 컴퓨팅 기능이 활성화되어 있습니다. 클러스터의 이름과 AWS 리전을 기록해 둡니다.
-
IAM 보안 주체가 네트워킹, 컴퓨팅, EKS 리소스를 관리할 수 있는 충분한 권한이 있는 사용자 또는 역할입니다.
-
자세한 내용은 IAM 사용 설명서의 Creating roles and attaching policies in the IAM User Guide을 참조하세요.
-
-
aws
CLI가 IAM 자격 증명으로 설치 및 구성되었습니다. -
kubectl
CLI가 설치되고 클러스터에 연결되었습니다.-
자세한 내용은 Amazon EKS를 사용하도록 설정 단원을 참조하십시오.
-
1단계: 기존 컴퓨팅 리소스 검토(선택 사항)
먼저 kubectl
을 사용하여 클러스터의 노드 풀을 나열합니다.
kubectl get nodepools
샘플 출력:
general-purpose
이 자습서에서는 general-purpose
노드 풀을 사용하도록 구성된 워크로드를 배포합니다. 이 노드 풀은 EKS Auto Mode에 내장되어 있으며 마이크로서비스 및 웹 앱과 같은 일반 워크로드에 대한 합리적인 기본값을 포함합니다. 자체 노드 풀을 생성할 수 있습니다. 자세한 내용은 EKS Auto Mode용 노드 풀 생성 단원을 참조하십시오.
둘째, kubectl
을 사용하여 클러스터에 연결된 노드를 나열합니다.
kubectl get nodes
방금 EKS Auto Mode 클러스터를 생성한 경우 노드가 없습니다.
이 자습서에서는 샘플 워크로드를 배포합니다. 노드가 없거나 워크로드가 기존 노드에 맞지 않는 경우 EKS Auto Mode가 새 노드를 프로비저닝합니다.
2단계: 클러스터에 샘플 애플리케이션 배포
다음 Kubernetes 배포를 검토하고 inflate.yaml
로 저장합니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: inflate
spec:
replicas: 1
selector:
matchLabels:
app: inflate
template:
metadata:
labels:
app: inflate
spec:
terminationGracePeriodSeconds: 0
nodeSelector:
eks.amazonaws.com/compute-type: auto
securityContext:
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000
containers:
- name: inflate
image: public.ecr.aws/eks-distro/kubernetes/pause:3.7
resources:
requests:
cpu: 1
securityContext:
allowPrivilegeEscalation: false
eks.amazonaws.com/compute-type: auto
선택기를 사용하려면 Amazon EKS Auto Mode 노드에 워크로드를 배포해야 합니다.
배포를 클러스터에 적용합니다.
kubectl apply -f inflate.yaml
3단계: Kubernetes 이벤트 보기
다음 명령을 사용하여 새 노드 생성을 포함한 Kubernetes 이벤트를 관찰합니다. ctrl+c
를 사용하여 이벤트 시청을 중지합니다.
kubectl get events -w --sort-by '.lastTimestamp'
kubectl
을 사용하여 클러스터에 연결된 노드를 다시 나열합니다. 새로 생성된 노드를 기록해 둡니다.
kubectl get nodes
4단계: AWS 콘솔에서 노드 및 인스턴스 보기
EKS 콘솔에서 EKS Auto Mode 노드를 보고 EC2 콘솔에서 연결된 EC2 인스턴스를 볼 수 있습니다.
EKS Auto Mode에서 배포한 EC2 인스턴스는 제한됩니다. EKS Auto Mode 노드에서는 임의의 명령을 실행할 수 없습니다.
5단계: 배포 삭제
kubectl
을 사용하여 샘플 배포를 삭제합니다.
kubectl delete -f inflate.yaml
클러스터에 배포된 다른 워크로드가 없는 경우 EKS Auto Mode에서 생성한 노드는 비어 있습니다.
기본 구성에서 EKS Auto Mode는 30초 동안 비어 있는 노드를 감지하고 종료합니다.
kubectl
또는 EC2 콘솔을 사용하여 연결된 인스턴스가 삭제되었는지 확인합니다.