1 분 소요

1. 서론

    오늘은 AWS EKS를 사용하는 법을 배워보았다.

2. 본론

1. EKS

// EKS(Amazon Elastic Kubernetes Service)
1. 준비사항
- aws cli
- git bash
- 명령줄 도구 저장 폴더 생성 (C:\Users\사용자명\k8s\bin)
- eksctl
- kubectl
- docker desktop
- IAM(AdministratorAccess)

2. Pod 생성
$ aws configure
access key + secret key + ap-northeast-2 + json
- Cloud Formation(스택 생성)
$ eksctl create cluster --vpc-public-subnets [스택-출력] --name eks-work-cluster --region ap-northeast-2 --version 1.27 --nodegroup-name eks-work-nodegroup --node-type t2.small --nodes 2 --nodes-min 2 --nodes-max 5
$ cd k8s/k8s-aws-eks/eks-env
$ k apply -f 02_nginx_k8s.yaml
$ k get pods
$ k port-forward nginx-pod 8080:80

3. Secret 생성
$ cd k8s_code2/wordpress
$ k create secret generic mysql-pass --from-file=./password.txt
$ k get secret
$ k describe secrets mysql-pass

4. Volume 생성
$ k create -f local-volume.yaml
$ k get pv

5. AWS URI(Uniform Resource Identifier) / ECR(Elastic Container Registry)
$ docker login
$ docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/<imagename:tag> //pull

ECR을 위한 IAM 설정(AdministratorAccess, AmazonEC2Container~FullAccess)
$ aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
$ docker pull wordpress:latest
$ docker image prune --all --force //image 전체 삭제
$ docker tag wordpress:latest <aws_account_id>.dkr.ecr.<region>.amazonaws.com/keduittestuser:wordpress
$ docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/keduittestuser:wordpress
$ docker pull mysql:5.6
$ docker tag mysql:5.6 <aws_account_id>.dkr.ecr.<region>.amazonaws.com/keduittestuser:mysql

3. 결론

    Kubernetes를 Ubuntu에서 사용하다 AWS EKS 기반으로 사용해보니 장단점이 있는 것 같다.

4. 참고자료

Cisco
Linux
Docker / k8s
Web
DB
AWS

클라우드 엔지니어를 꿈꾸며 공부를 시작한 초보 엔지니어입니다. 틀린점 또는 조언해주실 부분이 있으시면 친절하게 댓글 부탁드립니다. 방문해 주셔서 감사합니다 :)

댓글남기기