빠르게 EKS를 시작해보자.
목표
명령을 내릴 cloud9 서버 생성해보기
EKS 생성하기
파드 배포해보기
EKS를 만들기 위한 명령서버 , EKS에 명령을 내릴 서버를 생성하자. Cloud9
AWS에게 제공하는 Cloud9을 사용해도 좋고, 따로 EC2 1대 만들어 사용해도 좋다.
여기서는 Cloud9 을 만들어 사용한다.
1
iam > role > admin 생성
2
EC2 > 보안 > admin role 적용
cloud9 실행 > 톱니바퀴 > 아래 메뉴 > AWS Settings > AWS managed temporay credentials > 비활성화 로 변경
rm -vf ${HOME}/.aws/credentials
3
참고1
4
참고2
https://brunch.co.kr/@topasvga/1815
1
cloud9 로그인
명령을 내릴 kubectl 다운로드, 설치
eksctl 다운로드, 설치
eksctl로 eks 설치
2
명령을 내릴 kubectl 다운로드, 설치
sudo curl -o /usr/local/bin/kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.13/2022-10-31/bin/linux/amd64/kubectl
sudo chmod +x /usr/local/bin/kubectl
kubectl version --client=true --short=true
3
eksctl 다운로드, 설치
curl --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv -v /tmp/eksctl /usr/local/bin
eksctl version
4
eksctl로 eks 설치
리전 환경 변수 지정
export AWS_REGION=$(curl --silent http://169.254.169.254/latest/meta-data/placement/region) && echo $AWS_REGION
eksctl create cluster --name myeks --version 1.23 --region ${AWS_REGION}
(15분 걸림)
eks 설치 확인
kubectl get nodes
1
디플로이 먼트로 게임 하나 배포해보자.
cat <<EOF > 2048.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: game-2048
labels:
run: game-2048
spec:
replicas: 3
selector:
matchLabels:
app: game-2048
template:
metadata:
labels:
app: game-2048
spec:
containers:
- image: public.ecr.aws/kishorj/docker-2048:latest
name: game-2048
ports:
- containerPort: 80
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: "game-2048"
spec:
type: LoadBalancer
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: game-2048
EOF
kubectl apply -f 2048.yaml
kubectl get deploy,svc
2
삭제
클러스터 삭제
eksctl delete cluster --name myeks --region ${AWS_REGION}
clooud9 삭제
iam > eksrole 삭제
ecr 삭제
1
Container와 EKS 시작하기
2
https://brunch.co.kr/@topasvga/1679
3
https://brunch.co.kr/@topasvga/1817
감사합니다.