devops

EKS Kubeconfig 다중 클러스터 적용하기 본문

DevOps/Kubernetes

EKS Kubeconfig 다중 클러스터 적용하기

vata500 2023. 3. 7. 22:33
반응형

kubeconfig 파일을 생성하여 EKS 클러스터 API 서버와 통신할 수 있도록 구성한다. cluster를 컨트롤할 bastion 서버에는 aws cli, kubectl가 미리 설치되어 있어야한다.

(혹시 기존에 config 파일이 존재했다면, 삭제하고 재설정하는 것을 권장)

kubectl 설치 (아래 aws 공식문서 참고)

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/

# 기존 버전 설치되어 있는 지 확인
$ kubectl version | grep Client | cut -d : -f 5

# kubernetes amd 64 1.23버전 다운 (linux)
$ curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/linux/amd64/kubectl

# 실행 권한
$ chmod +x ./kubectl

# PATH 폴더에 복사
$ mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

# 버전 확인
$ kubectl version --short --client

aws cli 설치

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
$ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin

이어서 aws access key와 secret access key를 설정한다.

EKS 클러스터가 생성이 되면 아래 명령어를 통해서 kubeconfig파일을 생성한다.

$ aws eks --region <region-code> update-kubeconfig --name <cluster_name>

kubeconfig 파일은 ~/.kube/config에 위치하며 구성으론 크게 clusters / contexts / users 로 구분된다.

  • clusters : 클러스터 인증 정보
  • contexts : clusters와 users의 조합으로 namespace 지정이 가능
  • users : 사용자 eks로 iam에 대한 인증 정보를 토큰 값으로 저장

eks cluster 확인

$ kubectl config get-contexts
$ kubectl config get-clusters

사용 중인 eks cluster 확인

$ kubectl config current-context

eks cluster 변경

$ kubectl config use-context <context-name>
$ kubectl config set-cluster <cluster-name>

등록된 eks cluster 삭제

$ kubectl config delete-context <context-name>
$ kubectl config delete-cluster <cluster-name>

 

반응형
Comments