학습 목표
- 컨테이너 오케스트레이션이 무엇인지 이해할 수 있다.
- 쿠버네티스의 간단한 작동 원리를 이해할 수 있다.
- 쿠버네티스 리소스 명세를 작성할 수 있다.
- 파드 명세를 작성할 수 있다.
- 디플로이먼트 명세를 작성할 수 있다.
- 서비스를 이용해 파드를 노출할 수 있다.
- kubectl 명령어를 사용하여 리소스의 생성, 삭제, 조회를 할 수 있다.
- kubectl 명령어를 사용하여 롤아웃 관련 작업을 진행할 수 있다.
- 롤링 배포 현황을 확인할 수 있다.
- 새로운 버전에 문제가 발생했을 때 롤백할 수 있다.
(이하 advanced)
- liveness probe를 이용하여 파드의 health check를 할 수 있다.
- 쿠버네티스가 Stateful한 애플리케이션을 다루는 방법을 이해할 수 있다.
- 쿠버네티스에서 인그레스를 이용한 HTTP 기반 라우팅을 적용할 수 있다.
- helm 패키지 매니저를 사용할 수 있다.
- 인그레스
- 클러스터 내의 서비스에 대한 외부 접근을 관리하는 API 게이트웨이
- 일반적으로 HTTP를 관리하며 로드 밸런서, SSL Termination (클러스터 내에서는 HTTP로만 통신하게 하는 전환 과정), 가상 호스팅을 제공함
- 인그레스의 필요성
- 애플리케이션을 외부에 노출시킬 때, 외부 IP 주소를 할당해 주는 서비스와 로드 밸런서를 생성하고 컨테이너로 트래픽을 보내는 방법을 이용하면 되는데, 왜 인그레스를 별도로 사용해야 하는가?
- 인그레스 리소스는 로드 밸런싱과 더불어 호스트 기반 라우팅을 지원하기 때문
- 아주 단순한 애플리케이션도 서비스는 두 개 이상의 HTTP 요청을 가지는 것이 보통(보통 각각 Web Server와 WAS로 대표됨)
- 이러한 서비스의 접근을 별도의 포트로 구분하여 접속하게 할 수도 있지만, 하나의 호스트 상에서 라우팅으로 구분하면 보다 유연한 서비스를 만들 수 있음
- 예를 들어, Web Server는 /로, WAS는 /api로 라우팅 할 수 있음
- YAML 파일에서 spec.rules.host에 별도의 호스트를 지정하여 Web Server는 www.mydomain.click, WAS는 api.mydomain.click으로 설정하는 것도 가능
- 인그레스 컨트롤러란?
- 규칙을 이행하는 실질적인 애플리케이션 컨테이너 (nginx 등)
'Code States > TIL' 카테고리의 다른 글
[0524] 섹션 3. 프로젝트 - 마이크로서비스 Day 1 - Tutorial (0) | 2023.05.24 |
---|---|
[0523] 컨테이너 오케스트레이션 - helm 패키지 매니저 (0) | 2023.05.23 |
[0522] 컨테이너 오케스트레이션 - 쿠버네티스 구성 요소 (0) | 2023.05.22 |
[0519] (페어) 컨테이너 오케스트레이션 - 새 버전이 망가졌어요 (0) | 2023.05.19 |
[0518] 컨테이너 오케스트레이션 - 쿠버네티스 워크로드 (0) | 2023.05.18 |