쿠버네티스는 kubectl에 대한 인증정보를 kubeconfig라는 yaml파일에 저장한다. EKS 클러스터는 어떻게 접근을 하는지, 어떻게 인증을 받아오는지 알아보자.
Kubeconfig
EKS 클러스터에 접근 가능한 kubeconfig파일을 생성하는 것은 간단하다. aws command 한 줄이면 인증 정보를 kubeconfig 파일에 저장할 수 있다.
kubeconfig 파일 내용을 살펴보자.
kubeconfig 파일은 크게 clusters / contexts / users로 구분할 수 있다. clusters는 클러스터의 인증 정보, users는 사용자 eks로는 IAM에 대한 인증 정보를 토큰 값으로 저장하는 방식이다. 그리고 context는 clusters와 users의 조합하는 구간으로 namespace 또한 지정 가능하다.
잘 생성되었는지 테스트 해보자.
수동으로 kubeconfig 파일 생성
kubeconfig 파일을 수동으로 생성하려면 우선 몇 개의 환경변수를 설정해준다. (****** 부분의 값을 알맞게 변경)
클러스터의 엔드포인트를 검색하고 값을 변수에 저장한다.
클러스터와 통신하는 데 필요한 Base64 인코딩 인증서 데이터를 검색하고 값을 변수에 저장한다.
기본 ~/.kube 디렉터리가 아직 없으면 생성해줘야한다.
아래 쉘 스크립트에 값을 적어주고 실행한다.
KUBECONFIG 환경 변수에 파일 경로를 추가한다. (kubectl은 클러스터 구성을 찾아야 하는 위치를 알 수 있도록 함)