본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

이론/SCP Training & Certification

Cloud Engineer 실무교육 [24hr] - [KR] Ch.5 Managing App. Build & Deployment_Container Service

Container의 장점

경량화, 효율성, 이식성.

크기가 작고 가벼워 복제와 배포가 간편하며 운영체제 부팅 시간이없어 빠른 시작과 종료가 가능하며 클라우드 플랫폼에 상관없이 어느곳이든 작동이 가능하다. 

 

Kubernetes

컨테이너화된 서비스를 관리하는 확장가능한 오픈소스 플랫폼, 컨테이너관리, 서비스 디스커버리, 자동화된 복구 등의 기능제공.

 

Kubernetes 구조

크게 두가지로 구분.

Kubernetes 관리(컨트롤플레인), 실제작업( Kubernetes  오브젝트)이 되는 부분으로 나뉨.

컨트롤플레인은 master node에, 실제작업은 node에 위치한다.

 

마스터노드, 컨트롤플레인

Kubernetes클러스터를 제어하는 서비스, 오브젝트 상태를 관리, 이벤트에 대한 탐지 및 응답수행.

구성요소 생성/삭제, 정보저장, 스케줄링, 스케일링 fail-over를 수행한다.

api server, controller manager, scheduler, etcd로 구성

 

워커노드, Kubernetes 오브젝트

namespace: 클러스터내의 논리적인 분리단위, 개발/운영환경이 필요한 경우 namespace를 사용하여 각각의 환경을 논리적으로 분리해 개별적인 cpu, memory등 리소스를 할당가능하다.

service: pod형태로 서비스를 배포하는 Kubernetes, 이 pod의 논리적 집합.

pod: 컨테이너들의 집합, Kubernetes 기반 배포 및 실행의 최소단위

Replicaton container: pod생명주기관리, scaling 장애 발생시 재기동을 수행한다.

Deployment: 이러한 ReplicaSet을 구성함과 동시에 앱의 배포방식을 관리한다.

 

이 워커노드와 마스터노드간 통신을 위해 사용하는 서비스

Kubelet: node를 제어하기 위한 에이전트

Kube-proxy: Container사용을 위한 라우팅, 로드밸런서.

 

ingress & Persistent volume

Kubernetes 의 핵심 오브젝트

외부에서 Kubernetes  클러스터 내부로 들어오는 네트워크 요청을 처리

도메인기반 url을 통해 Kubernetes  서비스로 접근하면 service오브젝트에 대한 로드벨런서 및 볼륨을 생성해준다.

 

Kubernetes 사용방법

Kubernetes 이를 위해서는 Kubernetes 개발자의 채용이 필요하다.

Kubernetes 는 오픈소스로 직접설치해 운영이 가능하다 복잡한 모듈에 의해 많은 경험이 필요해 이미 구축되어있는 환경이용이 효율적이고 이를 제공하는것이 SCP에서는 Kubernetes 엔젠이라고한다.

 

SCP Container서비스 - 3가지

Kubernetes Engine: Kubernetes 를 메니지드해 사용할수있는 상품

Kubernetes Apps: pod형태로 배포하기 위한, Kubernetes 클러스터에 즉시 배포할수있는 Continer이미지를 제공

Container Registry: Container이미지를 저장, 관리, 공유하기 위한 이미지 저장소 서비스

 

Kubernetes 프로세스

Kubernetes Engine 구성한뒤( VPC, Subnet생성 - 클러스터생성 - 노드 풀 구성 )

개발자는 Kubernetes apps에 등록되어있는 오픈소스 및 상용 sw중 선택하여 사용할 클러스터에 배포하고 직접 등록도 가능하다.

Kubernetes apps에 이미지를 배포한다.( Kubernetes apps 애플리케이션이미지 선택 - 기본정보입력 - 애플리케이션 연결설정)

Container Registry에 저장하면 이 이미지들을 편리하게 관리할 수 있다. 생성/삭제/관리/접근제어가 가능하며 이미지의 태그관리/버전관리 가능. 이미지 취약점점검 혹은 협업 및 접근제어(iam기반, 로깅, 엔드포인트)가 가능하다.