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
반응형