쟝이의 세상
AWS EKS 사용 - 클러스터와 노드 그룹 생성, IAM 정책 설정 본문
📌 클러스터 생성 및 역할 생성
✔️ 클러스터 생성
EKS > 클러스터 > EKS 클러스터 생성
입력 구분 | 입력 내용 | |
1단계 - 클러스터 구성 | 이름 | k8s_cluster |
클러스터 IAM 역할 | EKSClusterRole | |
Kubernetes 버전 | 1.31 | |
2단계 - 네트워킹 지정 | VPC | vec-prd-vpc |
서브넷 | PUB-2A와 PUB-2C | |
보안 그룹 | PUB-SG-2A와 PUB-SG-2C | |
4단계 - 추가 기능 선택 | ☑️ Amazon VPC CNI ☑️ kube-proxy ☑️ CoreDNS ☑️ Amazon EKS Pod Identity 에이전트 |
👇🏻 IAM 역할 추가 (EKSClusterRole)
클러스터 생성하는 부분에서 "IAM 콘솔에서 역할 생성" <클릭>

입력 구분 | 입력 내용 | |
1단계 - 신뢰할 수 있는 엔터티 선택 | 신뢰할 수 있는 엔터티 유형 | AWS 서비스 |
서비스 또는 사용 사례 | EKS | |
사용 사례 | ☑️ EKS - Cluster | |
3단계 - 이름 지정, 검토 및 생성 | 역할 이름 | EKSClusterRole |
설명 | Allows access to other AWS service resources that are required to operate clusters managed by EKS |
생성된 화면

상태가 활성화 될 때까지 10분 정도 시간이 소요됨
📌 노드 추가 및 역할 생성
✔️ 노드 추가
EKS > 클러스터 > k8s_cluster(위에서 생성한 클러스터) > 컴퓨팅 > 노드 그룹 > 노드 그룹 추가
입력 구분 | 입력 내용 | |
1단계 - 노드 그룹 구성 | 이름 | k8s-cluster-workernodes |
노드IAM 역할 | EKSWorkerNodeRole | |
2단계 - 컴퓨팅 및 조정 구성 설정 | 디스크 크기 | 8GB |
원하는 크기 | 2노드 | |
최소 크기 | 2노드 | |
최대 크기 | 4노드 | |
3단계 - 네트워킹 지정 | 서브넷 | subnet |
👇🏻 EKSWorkerNodeRole 역할 추가
노드 그룹을 추가하는 화면에서 "IAM 콘솔에서 역할 생성" <클릭>

입력 구분 | 입력 내용 | |
1단계 - 신뢰할 수 있는 엔터티 선택 | 신뢰할 수 있는 엔터티 유형 | AWS 서비스 |
서비스 또는 사용 사례 | EC2 | |
사용 사례 | ☑️ EKS - Cluster | |
2단계 - 권한 추가 | 권한 정책 | ☑️ EKS_CNI_Policy ☑️ EKSWorkerNodePolicy ☑️ EC2ContainerRegisterReadOnly |
3단계 - 이름 지정, 검토 및 생성 | 역할 이름 | EKSWorkerNodeRole |
설명 | Allows access to other AWS service resources that are required to operate clusters managed by EKS |
⚠️ 오류 생성 → 노드 그룹 삭제하기
👇🏻 오류 잡은 후에 다시 노드 그룹 추가해주기
VPC > 서브넷 > PUB-2A와 PUB-2C > 서브넷 설정 편집

자동 할당 IP 설정 - ☑️ 퍼블릭 IPv4 주소 자동 할당 활성화
→ 상태가 활성되는 데까지 10분 정도 소요됨
✔️ 인스턴스 확인
→ 2개의 인스턴스가 생성됨을 확인
📌 정책 생성 및 연결
✔️ 정책 생성: eks_DescribeCluster
입력 구분 | 입력 내용 | |
권한 지정 | 정책 편집기 <JSON> | { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:ListClusters", "eks:ListNodegroups", "eks:DescribeNodegroup", "eks:ListFargateProfiles", "eks:DescribeFargateProfile" ], "Resource": "*" } ] } |
검토 및 생성 | 정책 이름 | eks_DescribeCluster |
👇🏻 엔터티 연결해주기
IAM > 정책 > eks_DescribeCluster > 연결된 엔터티 > 연결
☑️ s3fullaccess <정책연결>

✔️ 정책 생성: EKS_FullAccess
입력 구분 | 입력 내용 | |
권한 지정 | 정책 편집기 <JSON> | { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:*", "ec2:DescribeInstances", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeKeyPairs", "iam:ListRoles", "iam:ListInstanceProfiles", "iam:ListPolicies", "iam:ListPolicyVersions", "iam:ListAttachedRolePolicies", "iam:ListAttachedUserPolicies", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:GetRole", "iam:GetUser", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListUsers", "iam:ListUserPolicies" ], "Resource": "*" } ] } |
검토 및 생성 | 정책 이름 | EKS_FullAccess |
✔️ 사용자에 권한 정책 연결
입력 구분 | 입력 내용 | |
권한 추가 | 권한 옵션 | 직접 정책 연결 |
권한 정책 | ☑️ AmazonEC2ContainerRegistryReadOnly ☑️ AmazonEKSClusterPolicy ☑️ AmazonEKSServicePolicy ☑️ AmazonEKSWorkerNodePolicy ☑️ AmazonS3ReadOnlyAccess ☑️ AmazonSSMFullAccess ☑️ AmazonSSMManagedInstanceCore ☑️ ecr_GetAuthorization (생성했던 정책) ☑️ eks_DescribeCluster (위에서 생성한 정책) ☑️ EKS_FullAccess (위에서 생성한 정책) |
👇🏻 완료 화면
📌 SSH 접속
✔️ PUB-2A (ec2-user로 접속)
- root 사용자로 전환하여 사용자 생성 (jihyang)
$ su -
adduser jihyang
- SSH 키 저장용 디렉토리 생성
mkdir /home/jihyang/.ssh
- SSH 공개 키 확인
cat ~/.ssh/authorized_keys
- 공개 키를 jihyang 계정의 authorized_keys에 추가
echo "ssh-rsa [~] zyangee" | tee -a /home/jihyang/.ssh/authorized_keys
→ 이 키를 통해 jihyang 사용자가 비밀번호 없이 SSH 접속할 수 있도록 공개 키 인증을 설정하는 과정
- 소유권 변경 및 디렉터리, 파일 권한 설정
chown -R jihyang:jihyang /home/jihyang/.ssh
chmod 700 /home/jihyang/.ssh
chmod 600 /home/jihyang/.ssh/authorized_keys
✔️ PUB-2A (jihyang으로 접속)
→ kubelet, kubeadm 다운로드
- AWS CLI / eksctl / kubectl 버전 확인
$ aws --version
$ eksctl version
$ kubectl version --short --client
📌 kubelet 설정
https://zyangee.tistory.com/53
EKS 클러스터 생성 - kubelet 설정하기
쟝이의 세상 EKS 클러스터 생성 - kubelet 설정하기 본문 수업내용 EKS 클러스터 생성 - kubelet 설정하기 zyangee 2024. 10. 24. 10:02
zyangee.tistory.com
'수업내용' 카테고리의 다른 글
AWS EKS 클러스터와 Kubernetes 노드에서 kubelet 설정 (0) | 2024.10.24 |
---|---|
AWS EKS 사용 - Docker 컨테이너 구축, ECR에 이미지 푸시 (0) | 2024.10.21 |
AWS에서 애플리케이션 로드 밸런서를 사용하여 EC2 인스턴스 관리, 배포 (0) | 2024.10.18 |
AWS에서 웹 애플리케이션 배포하기 위한 프로세스 (0) | 2024.10.16 |
Kubernetes(Ingress) (0) | 2024.10.04 |