관리 메뉴

피터의 개발이야기

[EKS] EKS Bastion 구성을 위한 kubectl, helm, eksctl, jq 설치 본문

AWS/EKS

[EKS] EKS Bastion 구성을 위한 kubectl, helm, eksctl, jq 설치

기록하는 백앤드개발자 2022. 10. 18. 08:28
반응형

 

ㅁ 개요

 ㅇ EKS 업그레이드 과정에 대해서 작성한 스크립트를 정리하였다.

 ㅇ EKS를 핸들링하기 위한 Bastion 서버 구성을 위한 작업 스크립트를 정리하였다.

 

 

ㅁ 사전구성-1 (PM시작 전에 구성가능)

1. 신규 클러스터 및 kubectl 설치를 위한 신규 Bastion 서버 생성

(0) Bastion userdata 를 기존 Main노드그룹에서 사용하는 userdata 활용하여 적용 

(1) 인스턴스 생성 및 ID/PW 로그인활성화, 보안그룹은 기존 Bastion것을 재활용, Disk는 gp3로 30G로 구성 
   (#중요. 클러스터생성을 위한 인스턴스 IAM을 user아닌 role로 사전세팅할것)

(2) EFS Mount 및 Kubectl 설치 (#주의. Kubectl 작업 시에는 root 계정이 아닌 ec2-user 계정으로 진행할 것)
   설치 : curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl
   설치한 바이너리 실행권한부여 : chmod +x ./kubectl
   패스설정 : mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
   점검 : kubectl version --short

(3) kubectl 자동완성
 # 신규 커널에 자동 적용
   echo 'source <(kubectl completion bash)' >> ~/.bashrc
 # 현재 커널에 적용
   source <(kubectl completion bash)  

(4) eksctl 설치
 # 최신 릴리스를 다운로드 
   curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
 # /usr/local/bin으로 옮김
   sudo mv /tmp/eksctl /usr/local/bin
 # 설치 확인
   eksctl version

(5) eksctl 자동완성
   vi ~/.bashrc #이동 후 아래 텍스트 붙이기
   --------------------
    # eksctl auto
    eksctl completion bash >> ~/.bash_completion
    . /etc/profile.d/bash_completion.sh
    . ~/.bash_completion
   --------------------

(6) helm 설치
  $ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
  $ chmod 700 get_helm.sh
  $ ./get_helm.sh
  # helm 자동완성
   echo 'source <(helm completion bash)' >> ~/.bashrc
   source <(helm completion bash)
 (7) jq (json 정렬)
   sudo yum install jq

반응형
Comments