brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 19. 2023

2. (요약) EKS 시작하기

빠르게 EKS를 시작해보자.


목표

명령을 내릴 cloud9 서버 생성해보기

EKS 생성하기

파드 배포해보기




<1> Cloud9 생성

<2> EKS  설치

<3> 파드 배포

<4> 참고  AWS 워크셥



<1> Cloud9 생성


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

https://catalog.us-east-1.prod.workshops.aws/workshops/46236689-b414-4db8-b5fc-8d2954f2d94a/ko-KR/install/10-cloud9


4

참고2

https://brunch.co.kr/@topasvga/1815





<2> EKS  설치


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




<3> 파드 배포



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 삭제






<4> 참고  AWS 워크셥


1

Container와 EKS 시작하기

https://catalog.us-east-1.prod.workshops.aws/workshops/46236689-b414-4db8-b5fc-8d2954f2d94a/ko-KR/install/10-cloud9




2

https://brunch.co.kr/@topasvga/1679


3

https://brunch.co.kr/@topasvga/1817


감사합니다.




매거진의 이전글 1. (요약) AWS 람다 사용하기,서버리스 사용하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari