디플로이먼트는 쿠버네티스가 stateless 앱을 배포할 때 사용하는 가장 기본적인 컨트롤러이다. 초기의 쿠버네티스에서는 레플리케이션 컨트롤러에서 앱을 배포했지만 최근에는 디플로이먼트를 기본적인 앱 배포에 사용한다.
디플로이먼트는 이름처럼 배포 기능을 세분화하여 레플리카세트를 관리하면서 앱 배포를 더욱 세밀하게 관리한다. 단순히 실행시킬 파드의 개수 유지 뿐 아니라 앱을 배포할 때 롤링 업데이트,앱 배포 도중 잠시 멈췄다가 다시 배포하는 등의 동작을 수행한다.
디플로이먼트를 생성해본다.
kubectl create deployment [deployment name] --image=[image]
생성이 잘 되었는지 확인해본다.
위에서 입력한 deployment name으로 생성된 것을 볼 수 있다. 이름 뒤에 붙은 문자들은 레플리카세트를 구분하는 UUID 해시 문자이다.
Running 상태로 정상적으로 설치가 되었다.
IP로 접속해보면 정상적으로 읍답하는 것을 확인할 수 있다.
디플로이먼트로 다수의 파드를 배포하기 위해서는 ReplicaSet의 값을 바꿔줘야 한다. 디폴트값은 1이므로 원하는 수의 파드 수를 지정해준다.
kubectl scale deployment [deployment name] --replicas=[replica 수]
파드를 확인해보면 기존에 있었던 1개에서 2개가 더 추가된것을 확인할 수 있다.
참고 자료