Deployment
- stateless 애플리케이션을 배포할 때 사용
- 디플로이먼트 배포 전략은 애플리케이션이 변경될 때 사용하며 주로 버전의 업데이트가 필요한 경우에 사용
1. 롤링 업데이트(순차적 업데이트)
- 표준 업데이트 방식
- 새 버전의 애플리케이션은 하나씩 늘려가면서 기존 버전의 애플리케이션은 하나씩 줄여나가면선 배포하는 방식
- 업데이트 속도는 느리지만 새로운 버전으로 배포된 파드에 문제가 생긴다면 이전 버전의 파드로 대체할 수 있어
안정적인 배포 방식
2. 재생성 업데이트
- 모든 이전 버전의 파드를 한 번에 종료하ㅗ 새 버전의 파드로 일괄적으로 교체하는 방식
- 빠른 업데이트가 가능하지만 파드에 문제가 발생하면 대체가 안됨
3. 블루/그린 업데이트
- 이전 버전과 새 버전의 애플리케이션이 동시에 운영되는 방식
- 이전 버전은 테스트 목적, 새 버전은 서비스 목적으로 접속할 수 있기 때문에 안정적이다
- 많은 파드가 필요하기 때문에 그만큼 많은 자원이 소모된다
4. 카나리 업데이트
- 두 개의 버전을 모두 배포하지만 새 버전에는 조금씩 트래픽을 증가시켜 새로운 기능을 테스트한다
- 기능 테스트 후 새 버전에 문제가 없으면 이전 버전을 모두 종료시키고 새 버전으로만 서비스한다
Service
- CNI 플러그인만으로 외부와 통신할 수 없기 때문에 쿠버네티스의 서비스 사용이 필요하다
다음과 같은 yaml 파일을 생성해서 디플로이먼트를 생성한다
작성시 디플러이먼트 -> 파드 -> 컨테이너 순서로 상세한 정보를 정의하며
selector과 template의 레이블은 동일한 값이어야 한다
yaml 파일에 설정한대로 파드가 2개 생성된 것을 확인할 수 있다
이제 디플로이먼트로 생성된 파드들이 외부에서 접속할 수 있도록 서비스를 생성한다
다음과 같은 yaml 파일을 생성한다
외부에 노출한 노드포트를 통해 웹 서비스에 접속이 가능한 것을 확인할 수 있다
'쿠버네티스' 카테고리의 다른 글
파드 생성하고 관리하기 (0) | 2023.05.01 |
---|---|
쿠버네티스 설치 (0) | 2023.04.30 |
쿠버네티스의 이해 (0) | 2023.04.29 |
쿠버네티스 시작 전 기본 개념 (0) | 2023.04.29 |