본문 바로가기

[AWS]/[Troubleshooting]

[AWS] EKS cluster생성시, coredns가 계속 pending 상태가 유지되고, 노드그룹 생성 후 타임아웃 나는 이유

반응형

1. 타임아웃 이유

클러스터를 만들기 위해 VPC를 선택하고, 그 VPC안에 있는 Subnet을 선택을 하게 되는데 이때 Public Subnet들이 만약 IPv4 address가 할당되어 있지 않다면 노드를 연결하다 타임아웃이 발생한다.

 

특정 VPC안의 subnet들이 public IPv4가 설정되도록 되어있는지 확인하는 방법

aws ec2 describe-subnets \
 --filters "Name=vpc-id,Values=[VPC-ID]" \
 --profile [PROFILE] \
 | grep 'SubnetId\|MapPublicIpOnLaunch'

아래 빨간박스처럼 Yes 값이어야 정상적으로 노드 생성된다.

2. Unable to connect to the server

클러스터나 노드가 정상적으로 올라가도 중간에 버전관련해서 Warning이 날 것이다.

 

이유는 aws-iam-authenticator 버전이 0.5.5가 되면서 v1beta1을 사용하도록 업데이트가 되었는데 아래 명령어를 수행하게 되면 자연스럽게 ~/.kube/config 안에 v1alpha1이 설정이 되버린다.

eksctl create cluster -f cluster.yml

그래서 해당 파일에서 값을 치환해주면 정상적으로 kubectl 명령어를 수행할 수 있다.

sed -i .bak -e 's/v1beta1/v1alpha1/' ~/.kube/config

스택오버플로우

728x90