애플리케이션을 배포하다 보면 환경에 따라서 다른 설정값을 사용하는 경우가 있다.
애플리케이션을 배포 하는 방법에 대해서 알아보자. 일반적으로 애플리케이션을 배포하는 방법은 블루/그린, 카날리 배포, 롤링 업데이트도 여러가지 방법이 있다.
쿠버네티스는 각 컨테이너의 상태를 주기적으로 체크해서, 문제가 있는 컨테이너를 자동으로 재시작하거나 문제가 있는 컨테이너를 서비스에서 제외할 수 있다.
쿠버네티스의 서비스는 L4 레이어로 TCP 단에서 Pod들을 밸런싱한다. 쿠버네티스에서 HTTP(S)기반의 L7 로드밸런싱 기능을 제공하는 컴포넌트를 Ingress라고 한다.
Pod의 경우에 지정되는 Ip가 랜덤하게 지정이 되고 restart 때마다 변하기 때문에 고정된 엔드포인트로 호출이 어렵다.
node.js로 간단한 웹서버를 만들어 도커로 패키징을 진행한다.
컨테이너는 아주 심플하고 우아하게 동작한다. run을 하면 실행되고 stop을 하면 멈춘다.
쿠버네티스는 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼이다.
이전 포스트에서 서버의 hostname을 출력하는 서비스를 클러스터에 만들고 curl 테스트를 통해 클러스터 내부에 있는 모든 노드에서 정상적으로 응답했던 것을 확인했다.
많은 서비스를 효율적으로 관리하기 위해 서버마다 역할을 부여한다.
쇼핑이 목적인 웹사이트를 운영하는 관리자라면, 하루에도 여러번 소스를 업데이트 하고 운영서버로 배포하는 일이 많을 것이다.
앞서 만든 이미지를 최적화시키기 위해서 리팩토링 작업을 진행해보자.
도커는 이미지를 만들기 위해 컨테이너의 상태를 그대로 이미지로 저장하는 단순한 방법을 사용한다.
도커를 Mac 또는 Window에 설치하고 난 뒤에 정상적으로 설치되었는지 명령어를 통해 확인하자.
도커(Docker)는 컨테이너형 가상화 기술을 구현하기 위한 상주 애플리케이션(dockered라는 데몬)과 이 애플리케이션을 조작하기 위한 명령행 도구(CLI)로 구성되는 프로덕트다. 애플리케이션 배포에 특화돼 있기 때문에 애플리케이션 개발 및 운영을 컨테이너 중심으로 할 수 있다.