더북(TheBook)

이번 실습에서 알아야 할 중요한 점은 우리가 디플로이먼트는 만들었지만 파드를 직접 만든 적은 없다는 것이다. 디플로이먼트를 정의할 때 우리에게 필요한 파드가 어떤 것인지 기술했다. 그러면 디플로이먼트는 쿠버네티스 API를 통해 현재 동작 중인 리소스가 무엇이 있는지 살펴보고, 자신이 관리해야 할 파드가 없다는 사실을 발견하여 다시 쿠버네티스 API를 통해 자신에게 필요한 파드를 생성한다. 구체적으로 어떤 과정을 거쳤는가는 중요하지 않다. 디플로이먼트만 만들면 우리에게 필요한 파드를 대신 만들어 준다는 점이 중요하다.

하지만 디플로이먼트가 자신이 관리해야 할 리소스를 어떻게 추적하는지는 알아 둘 필요가 있다. 이런 패턴은 쿠버네티스 전반에서 매우 많이 쓰인다. 모든 쿠버네티스 리소스는 간단한 키-값 쌍 형태의 레이블을 가지며, 이 레이블을 우리가 원하는 데이터를 담는 데 사용할 수 있다. 예를 들어 디플로이먼트에 release라는 레이블을 추가하고 그 값을 20.04라고 지정한다면, 우리는 나중에 이 디플로이먼트가 배포 주기 20.04에 배포된 것임을 알 수 있다. 또한 레이블은 디플로이먼트와 파드의 관계처럼 객체 간 관계를 표현해서 리소스와 리소스의 느슨한 연결을 만드는 데도 쓰인다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.