[쿠버네티스 1] 컨테이너 오케스트레이션이란?

Yona·2021년 2월 5일
0

kubernetes

목록 보기
1/3

서버를 관리한다는 것 = 서버의 상태를 관리하기 위한 노력

유튜브 : 초보를 위한 쿠버네티스 안내서 를 보고 공부한 내용을 정리했습니다.

컨테이너 특징

  • 가상머신과 비교하여 컨테이너 생성이 쉽고 효율적
  • 컨테이너 이미지를 이용한 배포와 롤백이 간단
  • 언어나 프레임워크에 상관없이 어플리케이션을 동일한 방식으로 관리
  • 개발, 테스팅, 운영환경은 물론 로컬 피시나 클라우드까지 동일한 환경 구축
  • 특정 클라우드 벤더에 종속적이지 않음.

그런데 컨테이너가 진짜 많아지게 된다면?

  • 컨테이너화에 맛들려서 모든걸 다 컨테이너화하다보니까 도커 좋긴한데..! 너무 많아...!
  • 내부 도커서비스간의 교환이 있거나 프록시에서 받아올때 로드벨런서를 그때그때 만들어줘야한다.

그래서 container orchestration!

복잡한 컨테이너 환경을 효과적으로 관리하기 위한 도구

cluster (클러스터)

클러스터링이란 ) 노드를 하나하나 관리하는게 아니라 클러스터 단위(여러개의 노드)로 추상화해서 관리한다.
마스터서버 ) 하나하나 노드에 ssh로 접속하는게 아니라, 마스터 서버에 명령어를 내려서 관리한다.
주의점) 다만 노드들끼리 가상네트워크등을 통하여 잘 통신이 이루어지도록 / 부하를 감당할 수 있도록 잘 설계해놔야한다.

state (상태관리)

내가 {image : "app1", replacas : 3} 으로 명령내리면
알아서 복사본을 3개로 만들고, 그 중 하나가 죽더라도 새로 하나를 만들어서 3개를 유지하도록 관리해준다.

scheduling (배포관리)

노드들 중 적합한 노드에 새로운 app등을 배정한다.

rollout rollback (배포 버전관리)

ver1 -rollout-> ver2 -rollback-> ver1 등을
여러개의 노드에 동일하게 적용시킨다.

서비스 등록 및 조회

서비스가 등록되고, 조회하는 절차가 있는데 웹에서 100으로 뜨면 서버에 100을 등록하고, 101이 뜨면 서버에 101을 등록한다. 이걸 사용하는 프록시 서버는 계속 저장소를 관찰하다가, 바뀌게 될때마다 (1. 설정변경 2. 프로세스 재시작) 을 자동으로 한다.

볼륨 스토리지

aws등을 노드에 연결 시킬 때, 일일히 설정하는게 아니라 추상적으로 설정으로 관리할 수 있다.

컨테이너 오케스트레이션을 제공하는 서비스들은?

많은 도구들이 우후죽순 나왔지만, 그 중에서 kubernetes의 장점
(오픈소스, 활발한 커뮤니티, 무한한 확장성, 사실상의 표준) 이 있기때문에 kubernetes를 공부해보도록 하자!

profile
Sometimes you win, sometimes you learn 🏃‍♀️

0개의 댓글