공식문서 : https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/install-awscli.html
AWS CLI 설정 - Amazon EKS
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
* 각 도구들이 어떤역할을 할까 ?
- AWS CLI
- 역할: AWS의 다양한 서비스(API)를 제어하고 관리하는 범용 커맨드 라인 도구
- 사용 예시:
- AWS 계정의 인증 정보 및 설정 확인
- EKS 클러스터 정보 조회 (예: aws eks describe-cluster)
- 기타 AWS 서비스(예: EC2, S3 등)와 연동하여 작업 수행
- eksctl
- 역할: EKS 클러스터의 생성, 삭제, 업데이트, 노드 그룹 관리 등 EKS 전용 클러스터 관리를 쉽게 할 수 있는도구
- 사용 예시:
- EKS 클러스터 생성 (eksctl create cluster)
- 노드 그룹 추가/삭제 (eksctl create nodegroup, eksctl delete nodegroup)
- 클러스터 설정 및 상태 확인
- kubectl
- 역할: 쿠버네티스 클러스터 내의 리소스(Pod, Deployment, Service 등)를 관리하는 표준 CLI 도구
- 사용 예시:
- 애플리케이션 배포 및 업데이트 (kubectl apply -f deployment.yaml)
- 클러스터 리소스 상태 확인 (kubectl get pods, kubectl get svc)
- 문제 해결 및 디버깅 (kubectl logs, kubectl exec)
정리하면, AWS CLI는 AWS 서비스 전체를 관리하는 도구이고, eksctl은 EKS 클러스터 생성과 관리를 쉽게 해주는 전용 도구, kubectl은 클러스터 내에서 실제 애플리케이션과 리소스를 운영하는 데 사용되는 도구이다.
1. aws cli 설치
https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
Installing or updating to the latest version of the AWS CLI - AWS Command Line Interface
When updating from a previous version, the unzip command prompts to overwrite existing files. To skip these prompts, such as with script automation, use the -u update flag for unzip. This flag automatically updates existing files and creates new ones as ne
docs.aws.amazon.com
2. shell 명령어 :
aws configure
그리고 나오는 값 설정
3. 사용자 아이디확인 명령어 :
필요한 경우, 다음 명령을 실행하여 터미널 세션에 대한 IAM 사용자 ID(예: ClusterAdmin)의 AWS 보안 인증 정보를 확인합니다.
aws sts get-caller-identity
이 명령은 AWSCLI 에 대해 구성된 IAM 엔터티의 Amazon 리소스 이름(ARN)을 반환합니다. 다음 예제 응답 출력이 표시됩니다.
{
"UserId": "AKIAIOSFODNN7EXAMPLE",
"Account": "01234567890",
"Arn": "arn:aws:iam::01234567890:user/ClusterAdmin"
}
4. kubectl 설치
curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.32.0/2024-12-20/bin/windows/amd64/kubectl.exe
5. 확인
kubectl version --client
6. 클러스터 설정변경 ( 선택 , 아직안해도됨 )
aws eks update-kubeconfig --region ap-northeast-2 --name my-cluster
7. eksctl 다운로드 압축 후 , path 환경변수 등록
https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_windows_amd64.zip
8. 확인
9 .참고로 eksctl 에서 명령어날리면 권한이 있어야한다. 다음은 공식문서의 글
eksctl을 사용하는 경우 사용 중인 IAM 보안 주체에 Amazon EKS IAM 역할, 서비스 연결 역할, AWS CloudFormation, VPC, 관련 리소스를 사용할 수 있는 권한이 있어야 합니다. 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 사용을 참조하세요. 이 가이드의 모든 단계를 동일한 사용자로 완료해야 합니다. 현재 사용자를 확인하려면 다음 명령을 실행합니다.
Actions, resources, and condition keys for Amazon Elastic Kubernetes Service - Service Authorization Reference
Resource condition keys are listed in the Resource types table. You can find a link to the resource type that applies to an action in the Resource types (*required) column of the Actions table. The resource type in the Resource types table includes the Con
docs.aws.amazon.com
9-1 . CloudFormation 을 통해 , VPC 환경을 구성한다. (이유 : VPC 환경과 쿠버네티스 클러스터환경을 구분하기위함이다. )
01_base_resources_cnf.yaml 파일 기반으로 생성된 리소스 를 기반으로 eks 를 구성할것이다.
( RouteTable , VPC , WorkSubnets )
10.
클러스터 생성 명령어 ( public subnets 은 위에서 CloudFormation 툴로 생성된 데이터를 활용한다. )
eksctl create cluster \
--vpc-public-subnets subnet-03ab02406dc58b108,subnet-002151dcc885dbe2c,subnet-014a0c4e8f7a51ecf \
--name eks-work-cluster \
--region ap-northeast-2 \
--nodegroup-name eks-work-nodegroup \
--node-type t2.small \
--nodes 2 \
--nodes-min 2 \
--nodes-max 5
cloud Formation 으로 들어가보면 클러스터 생성중임을 확인가능 20분정도걸림
- 이렇게 eksctl 에서 명령어를 실행하면 , cloud Formation 으로 eks 클러스터를 생성하는 api 를 호출한것이라고 볼수있다.
eksctl 은 EKS 클러스터 구축중에 kubeconfig 파일 을 자동으로 업데이트한다. ( C:\Users\{USER}\.kube)
kubeconfig 파일은 쿠버네티스 클라이언트인 kubectl 이 이용할 설정 파일로 클러스터 접속정보 ( 컨트롤 플레인 URL , 인증정보 , 네임스페이스 등 ) 을 저장한다.
eks 클러스터에 접속하기위한 인증정보는 aws cli 로 확인