33탄 - (요약) AWS 1일 완성 - 2023
목표
컨테이너의 이해
ECS 알아보기
EKS 알아보기
서비스 알아보기
CI/CD 알아보기
1
비즈니스의 빠른변화, 예측할수 없는 요구사항.
빠르고 안정적이고 효율적인 시스템이 필요
2
개발팀은 애플리케이션 개발에만 집중 필요.
3
런타임 엔진, 의존성, 코드 ---------- 모두 컨테이너에 포함됨.
컨테이너는 개별 OS를 가지고 있지 않고, 호스트 OS를 공유함.
컨테이너는 별도의 OS낭비 없이 애플리케이션만 사용한다.
운용/관리비용이 최대 40%까지 줄어든다.
도커파일, 어플리케이션 코드, 의존성 , 런타임 -------- 빌드해서 컨테이너 이미지를 만들어 사용함.
4
컨테이너 이미지는 컨테이너 레지스트리인 ECR에 저장해 사용한다.
5
배포하고 실행한다.
강력하면서 심플하다.
컨테이너 쉽게 배포.
EC2 인스턴스 방식과 파게이트 2가지 방식으로 운영 가능하다.
파게이트는 아마존에서 관리하므로 운영에 대한 부하가 적다.
ECS WorkShop 을 통해 학습하자.
1
컨트롤 플래인과 데이터 플래인 (워커노드) 가 있다.
2
컨트롤 플래인?
API Server , 컨트롤러 매니저 , 스케쥴러 , etcd 가 있다.
API Server - 사용자의 명령을 받아 실행하는곳, 컨트롤러 매니저 , 스케쥴러 , etcd가 모두 연결되어 있다.
컨트롤러 매니저 - pod를 복제하거나 인스턴스 노드를 제어하는 역할. 디플로이먼트 컨트롤러, 레플리카셋 컨트롤러, 노드 컨트롤러등이 있다. API서버를 모니터링하며 파드를 유지하는 역할울 수행한다.
스케쥴러 - 파드를 어떤 워커 노드에 배포해야 할지 정해준다.
etcd - 노드의 상태, 파드의 상태를 키값형태로 저장한다.
3
데이터 플래인 (워커노드) ?
kubelet , kube-proxy가 있다.
kubelet ? 모든 인스턴드 노드에 1개씩 생성된다. 컨트롤 플레인의 요청을 받아 파드에서 컨테이너가 동작하도록 관리한다.cpu, mem 관리.
kube-proxy ? 네트워크 통신 역할을 한다.
4
쿠버네티스는 초기에 알아야 할것도 많다.
러닝 커브가 있다. 운영하는데 시간이 필요하다.
5
컨트롤 플래인를 AWS가 관리해주는 EKS가 있다.
1
Load Balancer - 클라우드 CSP 로드밸런서 이용해 외부 노출 , 인스턴스 모드와 IP 모드가 있음.
2
Node Port - 외부에 네트워킹 제공 , 워커노드에서 트래픽 전달은 클러스터IP 로 사용
3
Cluster IP - 클러스터 내부 통신을 위한 파드간 네트워킹 제공 , 내부 통신만 지원한다.
1
EKS 생성
명령서버는 cloud9으로 사용
2
터미널1
watch로 모니터링
watch -d kubectl get pod,rs,svc
3
터미널2
#nginx deplyment 생성.
kubectl create deployment nginx --image=nginx --replicas=3
# 서비스 생성
kubectl expose deployment nginx –port=80 –type=loadbalancer
콘솔에서 로드밸런서 생성된것 확인
4
pod의 ip 확인
kubectl describe svc nginx
kubectl get pod -o wide
5
브라우저를 통해 로드밸런서로 웹 접속 확인
참고 자료
https://www.linode.com/docs/guides/how-to-deploy-nginx-on-a-kubernetes-cluster/
https://kubernetes.io/docs/tasks/run-application/run-stateless-application-deployment/
codecommit
codebuild
code deploy
1
ECS , EKS공통점?
관리툴
컨테이너 관리서비스
서버 관리가 아니고, 서비스, 파드 관리툴.
2
ECS , EKS 차이점?
ECS는 AWS 전용서비스
EKS는 쿠버네티스 기반이라 다른 CSP에서도 사용가능하다. 파드등.
ECS는 심플서비스. 간단하다.
EKS는 복잡함. 러닝커브가 있다. 오픈소스등 연동해 다양하게 서비스 가능하다.
다음은 데이터 베이스 모니터링.
https://brunch.co.kr/@topasvga/3402
1일 완성 전체 자료
https://brunch.co.kr/@topasvga/3406
감사합니다.