Docker & Kubernetes

매니페스트(Manifest)를 이용해 쿠버네티스 오브젝트 생성하기

beekei 2022. 1. 30. 18:01
반응형

매니페스트란 쿠버네티스의 오브젝트를 생성하기 위한 메타 정보를 YAML이나 JSON으로 기술한 파일이다.

실제 파드를 단독으로 기동하는 매니페스트를 작성하는 경우는 많지 않다.

보통 컨트롤러에 대한 매니페스트를 작성하는데 이때 파드에 대한 정보를 기술하는 부분이 포함된다. 이를 파드 템플릿이라고 하며, 파드의 매니페스트와 같다. 따라서 파드의 매니페스트를 기술하는 방법을 알고 있으면 컨트롤러를 사용할 때 도움이 된다. 

 

Nginx 컨테이너를 실행하는 매니페스트를 작성해보자.

주로 YAML파일이 JSON 파일보다 가독성이 좋아 많이 사용한다. 그리고 매니페스트를 작성할 때는 API 래퍼런스를 참고하는 것이 좋다.

apiVersion: v1
kind: Pod 
metadata:
    name: nginx
spen:
    containers:
        - name: nginx
          image: nginx:latest

 

매니페스트를 작성 했다면 적용해보자.

매니페스트를 적용하려면 kubectl apply -f <매니페스트 파일명> 명령어를 사용하는데,  kubectl의 서브 커맨드로는 create와 apply가 있다. apply는 동일한 이름의 오브젝트가 있을 때 매니페스트의 내용에 따라 오브젝트의 스펙을 변경하고, create는 에러를 반환한다.

만든 K8s 오브젝트를 지우기 위해서는 apply 대신 delete로 바꿔서 실행하면 된다.

 

참고로 파일명 대신 URL을 기재해 GitHub에 매니페스트를 적용할 수 도 있다.

 

반응형