카테고리 없음

[AWS] EKS 생성

tpcable 2022. 8. 20. 16:43
  1. IAM 생성
  • IAM에 관리자 권한을 할당해 관리 EC2에서 EKS관리
  1. Policy 연결
  1. Access key 저장
  1. 관리 EC2에 AWS 계정등록
aws configure
# 정상 로그인 확인
aws sts get-caller-identity

[EKS 구성]

eksctl create cluster \\
--name eks-test \\
--region ap-northeast-2 \\
--with-oidc \\
--ssh-access \\
--ssh-public-key awskey \\ # node 에 접속 할 key
--nodes 3 \\
--node-type t3.medium \\
--node-volume-size=20 \\ # node local disk size 20GB
--managed
kubectl get node
kubectl run webserver --image=nginx:1.14 --port=80
kubectl get pod -o wide

Private EC2가 아니기에 Public IP가 할당 되어 있음. 생성 시 이미지를 지정하지 않았기에 AWS Linux 가 설치 되어있음

모든 Pod 삭제

kubectl delete pod --all

Cluster 삭제

eksctl delete cluster --name [EKSCLUSTERNAME]

[관리 EC2에 설치]

  1. EC2에 AWS CLI 설치
sudo apt-get install -y unzip
curl "<https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip>" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version 

2. EC2에 eks ctl 설치_EKS설치 / 운영 Tool

https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/eksctl.html

 

eksctl 설치 또는 업데이트 - Amazon EKS

GitTag 버전은 0.105.0 이상이어야 합니다. 그렇지 않은 경우 터미널 출력에서 설치 또는 업그레이드 오류가 있는지 확인하거나, 1단계의 주소를 https://github.com/weaveworks/eksctl/releases/download/v0.105.0/eksct

docs.aws.amazon.com

curl --silent --location "<https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$>(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl version

 

3. EC2에 Kubectl 설치

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
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
kubectl version --short --client

 

 

kubectl 설치 또는 업데이트 - Amazon EKS

Amazon EKS 클러스터 제어 영역과 마이너 버전이 하나 다른 kubectl 버전을 사용해야 합니다. 예를 들어 1.21 kubectl 클라이언트는 Kubernetes 1.20, 1.21, 1.22 클러스터와 함께 작동합니다.

docs.aws.amazon.com

[EKS 관리서버 환경 설정]

1. IAM 생성

- IAM에 관리자 권한을 할당해 관리 EC2에서 EKS관리

2. Policy 연결

3. Access key 저장

4. 관리 EC2에 AWS 계정등록

[EKS 구성]

 

eksctl create cluster \\
--name eks-test \\
--region ap-northeast-2 \\
--with-oidc \\
--ssh-access \\
--ssh-public-key awskey \\ # node 에 접속 할 key
--nodes 3 \\
--node-type t3.medium \\
--node-volume-size=20 \\ # node local disk size 20GB
--managed