본 글을 AWS 공식 문서를 참고해 작성 되었습니다.
EKS 클러스터에 Linux 기반
의 Auto Scaling 노드 그룹
을 생성할 수 있습니다.
EKS 관리형이 아닌 자체 관리형 노드 그룹으로 AWS Outposts, AWS Wavelength, 또는 AWSLocal Zones가 사용 설정되어 있는 AWS 리전에서 자체 관리형 노드 그룹을 생성하여 사용할 수 있습니다.
노드가 클러스터에 조인한 이후 Kubernetes 애플리케이션을 배포
할 수 있습니다.
Amazon EKS 노드는 AWS 계정에서 실행되고 클러스터 API 서버 엔드포인트
를 통해 클러스터의 제어 영역
에 연결됩니다.
노드 --------> 클러스터 API 서버 ---------> 클러스터 제어 영역
노드 그룹은 Amazon EC2 Auto Scaling 그룹
에 배포되는 하나 이상의 Amazon EC2 인스턴스
입니다.
노드 그룹의 모든 인스턴스는 다음과 같은 특성을 가져야 합니다.
동일한
인스턴스 유형동일한
Amazon Machine Image(AMI) 실행동일한
Amazon EKS 노드 IAM 역할EKS 관리형 노드 그룹 생성 방식과 유사하나 --managed
옵션에 대해 false
를 입력합니다.
(EKS
가 관리하지 않겠다는 의미입니다)
% eksctl create nodegroup \
--cluster my-cluster \
--node-type t3.medium \
--nodes 3 \
--nodes-min 1 \
--nodes-max 4 \
--ssh-access \
--managed false \
--ssh-public-key hyeob-test-keypair
2022-05-08 20:01:53 [ℹ] eksctl version 0.95.0
2022-05-08 20:01:53 [ℹ] using region ap-northeast-2
2022-05-08 20:01:53 [ℹ] will use version 1.21 for new nodegroup(s) based on control plane version
2022-05-08 20:01:54 [ℹ] nodegroup "false" will use "" [AmazonLinux2/1.21]
2022-05-08 20:01:54 [ℹ] using EC2 key pair %!q(*string=<nil>)
2022-05-08 20:01:55 [ℹ] 1 nodegroup (false) was included (based on the include/exclude rules)
2022-05-08 20:01:55 [ℹ] will create a CloudFormation stack for each of 1 managed nodegroups in cluster "my-cluster"
2022-05-08 20:01:55 [ℹ]
2 sequential tasks: { fix cluster compatibility, 1 task: { 1 task: { create managed nodegroup "false" } }
}
2022-05-08 20:01:55 [ℹ] checking cluster stack for missing resources
2022-05-08 20:01:55 [ℹ] cluster stack has all required resources
2022-05-08 20:01:55 [ℹ] building managed nodegroup stack "eksctl-my-cluster-nodegroup-false"
2022-05-08 20:01:55 [ℹ] deploying stack "eksctl-my-cluster-nodegroup-false"
2022-05-08 20:01:55 [ℹ] waiting for CloudFormation stack "eksctl-my-cluster-nodegroup-false"
2022-05-08 20:02:25 [ℹ] waiting for CloudFormation stack "eksctl-my-cluster-nodegroup-false"
2022-05-08 20:03:24 [ℹ] waiting for CloudFormation stack "eksctl-my-cluster-nodegroup-false"
2022-05-08 20:04:35 [ℹ] waiting for CloudFormation stack "eksctl-my-cluster-nodegroup-false"
2022-05-08 20:05:12 [ℹ] waiting for CloudFormation stack "eksctl-my-cluster-nodegroup-false"
2022-05-08 20:05:12 [ℹ] no tasks
2022-05-08 20:05:12 [✔] created 0 nodegroup(s) in cluster "my-cluster"
2022-05-08 20:05:12 [ℹ] nodegroup "false" has 3 node(s)
2022-05-08 20:05:12 [ℹ] node "ip-192-168-3-90.ap-northeast-2.compute.internal" is ready
2022-05-08 20:05:12 [ℹ] node "ip-192-168-42-219.ap-northeast-2.compute.internal" is ready
2022-05-08 20:05:12 [ℹ] node "ip-192-168-83-40.ap-northeast-2.compute.internal" is ready
2022-05-08 20:05:12 [ℹ] waiting for at least 1 node(s) to become ready in "false"
2022-05-08 20:05:12 [ℹ] nodegroup "false" has 3 node(s)
2022-05-08 20:05:12 [ℹ] node "ip-192-168-3-90.ap-northeast-2.compute.internal" is ready
2022-05-08 20:05:12 [ℹ] node "ip-192-168-42-219.ap-northeast-2.compute.internal" is ready
2022-05-08 20:05:12 [ℹ] node "ip-192-168-83-40.ap-northeast-2.compute.internal" is ready
2022-05-08 20:05:12 [✔] created 1 managed nodegroup(s) in cluster "my-cluster"
2022-05-08 20:05:12 [ℹ] checking security group configuration for all nodegroups
2022-05-08 20:05:12 [ℹ] all nodegroups have up-to-date cloudformation templates