Post

최종 프로젝트 인프라 구축 외전 - eks 오류 관련

최종 프로젝트 인프라 구축 외전 - eks 오류 관련

노드 그룹 생성시 NodeCreationFailure 해결

EKS를 셋팅하다가

현재 테라폼(terraform)을 사용하여 aws 인프라를 생성하고 있다.

do10-img1

문제는 eks에서 계속 노드 그룹을 생성하는데 생성 실패가 뜨고(그것도 20분 동안 생성중 이다가),
instances failed to join the kubernetes cluster 원인이 이렇다고 한다.

이걸로 하루 종일 해메다 마침내 해결책을 찾았는데…?

클라스터 추가 기능(addon) 추가

do10-img2

우선 노드 그룹을 만들기 전 eks 클라스터 콘솔에 들어가

  • 추가 기능→추가 기능 가져오기 클릭
  • 추가 기능들 중 kube-proxy, CoreDNS, Amazon VPC CNI 선택하고 다음
  • 설정화면이 뜨면 Amazon VPC CNI의 추가 기능 액세스에서 EKS Pod Identify→설정되지 않음 선택하고 생성

해야 한다.

IAM 역할 생성

do10-img3

그리고 IAM 콘솔로 들어가 노드 그룹이 사용할 역할을 새로 만들어 줘야 한다.

  • IAM 콘솔에서 역할→역할 생성 클릭
  • AWS 서비스→EC2→EC2(그냥, 뒤에 뭐 안붙은) 선택하고 다음
  • 권한 정책에서 AmazonEKS_CNI_Policy, AmazonEKSWorkerNodePolicy, AmazonEC2ContainerRegistryReadOnly 선택하고 다음
  • 역할 이름 지어주고 역할 생성~

새 역할로 노드 그룹 다시 생성

do10-img4

다시 노드 그룹을 생성할 때 노드 IAM 역할을 기존 AmazonEKSAutoNodeRole 대신

새로 만든 역할로 지정해주고 기존처럼 생성하면 된다.
(AmazonEKSAutoNodeRole은 AmazonEC2ContainerRegistryPullOnly 권한밖에 없어서 그랬다.
이 역할에 위 권한들을 추가해 줘도 노드연결이 안 돼 그냥 새로 만드는게 속 편하다.)

do10-img5

이렇게 조금 기다리면 생성된다!!
오류 뜰때는 30분까지 걸리던 게 성공할 때는 1분도 걸리지 않는 것에 정신이 멍해졌다…

다음편 예고

다음 편은 AWS 인프라를 테라폼(terraform)으로 만드는 방법~

This post is licensed under CC BY 4.0 by the author.