5.1 컨테이너 오케스트레이션: 컨테이너를 관리하기 위한 작업
요약
- 컨테이너 오케스트레이션은 컨테이너 관리 및 운영을 자동화한다.
- 컨테이너 관리 및 운영에는 로드 밸런싱, 헬스 체크, 스케일링 등이 필요하다.
- 컨테이너를 활용한 애플리케이션이 보급되고 그 규모가 커질수록 컨테이너 오케스트레이션은 점점 더 중요해질 것이다.
5.2 쿠버네티스: 컨테이너의 관리 및 운영을 자동화하는 도구
요약
- 쿠버네티스는 오케스트레이션하는 도구다.
- 쿠버네티스 클러스터는 쿠버네티스에서 관리하는 시스템의 집합이다.
- 노드에는 실제로 파드를 구동하는 워커와, 워커를 제어하는 마스터라는 두가지 유형이 있다.
5.3 파드: 컨테이너를 관리하는 단위
요약
- 파드는 쿠버네티스가 컨테이너를 관리하는 최소 단위다.
- 같은 파드 내에서 시작할 필요가 없는 컨테이너는 가능한 한 별도의 파드에 포함하는 것이 좋다.
- 파드는 컨테이너 관리를 쿠버네티스에 맡길 수 있다.
- 사이트카 컨테이너는 자주 사용하는 디자인패턴이다.
5.4 디플로이먼트 컨트롤러: 오케스트레이션을 지원하는 가장 중요한 요소
요약
- 레플리카셋은 같은 유형의 파드만 포함하는 그룹이다.
- 디플로이먼트 같은 레플리카셋의 다른 버전이 포함된 그룹이다.
- 디플로이먼트 컨트롤러는 디플로이먼트를 특정 상태로 유지하는 컨트롤러이다.
5.5 서비스: 컨테이너에 접속하는 창구
요약
- 서비스는 컨테이너에 접속하기 위한 엔드포인트를 제공한다.
- 서비스에 의해 컨테이너의 실행과 정지가 반복되는 상황에서도 컨테이너에 접속할 수 있다.
5.6 플라넬: 컨테이너 간 상호 접속을 지원하는 기술
요약
- 같은 파드에 포함된 컨테이너는 로컬호스트에 접속하면 통신할 수 있다.
- 파드에는 고유의 IP 주소가 할당되어 있다.
- 플라넬은 컴퓨터의 파드끼리 통신하는 방식이다.
5.7 로드 밸런싱과 헬스 체크: 시스템의 가용성을 향상시키는 방법
요약
- 로드 밸런싱과 헬스 체크를 조합하면 시스템 가용성을 높일 수 있다.
- kube-proxy iptables 규칙을 변경해 로드 밸런싱을 실현한다.
- kubelet은 파드의 상태를 정기적으로 확인해 헬스 체크를 구현한다.
5.8 스케일링: 시스템의 성능을 향상시키는 방법
요약
- 스케일링이란 요청 규모에 따라 컨테이너를 늘리거나 줄이는 것을 말한다.
- 메트릭스는 스케일링을 수행할지 여부를 결정하는 데 사용하는 데이터이다.
- HPA는 파드의 수평 스케일링을 수행하고, CA는 클러스터의 수평 스케일링을 수행한다.
5.9 쿠버네티스 주요 명령어: 필수 명령어
요약
- 쿠버네티스는 매니페스트로 클러스터를 조작한다.
- 레이블 및 레이블 셀렉터를 사용해 개체를 선택할 수 있다.
- 생성/변경 명령어는 kubectl apply이며 -f에 지정된 매니페스트의 내용에 따라 무엇을 생성/변경할지가 바뀐다.
5.10 자동 빌드: 이미지 생성부터 배포까지 절차를 자동화
요약
- 자동 빌드란 프로그램 등을 사용할 수 있는 상태로 만드는 절차를 자동화하는 것이다.
- 자동 배포란 프로그램 등을 릴리스하는 절차를 자동화하는 것이다.
- 쿠버네티스를 사용해 개발한 것을 릴리스하려면 이미지 생성, 레지스트리 등록, 배포 업데이트까지 3단계가 필요하다.
5.11 멀티 클라우드: 여러 클라우드에서 쿠버네티스 사용
요약
- 멀티 클라우드는 여러 클라우드를 조합해 구성된 환경.
- 쿠버네티스는 각 클라우드 간 차이를 절충해 같은 절차로 작업을 가능하게 한다.
5.12 쿠버네티스의 아키텍처: 각 노드에서 동작하는 구성 요소
요약
- 마스터와 워커는 다양한 구성 요소가 작동하고 구성 요소가 함께 연동해 오케스트레이션을 수행한다.
4. 컨테이너형 가상화 소프트웨어, 도커
'DevOps > 그림으로 이해하는 가상화와 컨테이너' 카테고리의 다른 글
4. 컨테이너형 가상화 소프트웨어, 도커 (0) | 2024.08.14 |
---|---|
3. 컨테이너 기술과 기초 지식 (0) | 2024.08.13 |
2. 가상화의 원리와 기술 (0) | 2024.08.13 |
1. 가상화 기초 지식 (0) | 2024.08.13 |