Kubernetes

# 9 파드에 어노테이션 달기

kyunghoon_dev 2021. 2. 24. 16:39

파드 및 다른 오브젝트는 레이블 외에 어노테이션을 가질 수 있다.

어노테이션은 key-value 쌍으로 레이블과 거의 비슷하지만 식별 정보를 갖지 않는다. 레이블은 오브젝트를 묶는 데 사용할 수 있지만 어노테이션은 그렇게 할 수 없다. 같은 맥락에서 어노테이션 셀렉터 또한 존재하지 않는다.

 

반면 어노테이션은 훨씬 더 많은 정보를 공유할 수 있다.

특정 어노테이션은 쿠버네티스에 의해 자동으로 오브젝트에 추가되지만, 나머지 어노테이션은 사용자에 의해 수동으로 추가된다.

 

어노테이션은 쿠버네티스에 새로운 기능을 추가할 때 흔히 사용된다. 일반적으로 새로운 기능의 알파 혹은 베타 버전은 API 오브젝트에 새로운 필드를 바로 도입하지 않는다. 필드 대신 어노테이션을 사용하고, 필요한 API 변경이 명확해지고 쿠버네티스 개발자가 이에 동의하면 새로운 필드가 도입된다. 이후 관련된 어노테이션을 사용이 중단된다.

 

어노테이션이 유용하게 사용되는 경우는 파드나 다른 API 오브젝트에 설명을 추가해 두는 것이다.

이렇게 하면 클러스터를 사용하는 모든 사람이 개별 오브젝트에 관한 정보를 신속하게 찾아볼 수 있다.

 

어노테이션 추가 및 수정하기

레이블을 만들 때와 같은 방법으로 파드를 생성할 때 어노테이션을 추가할 수 있다. 물로 이미 존재하는 파드에 어노테이션을 추가하거나 수정하는 것도 가능하다.

어노테이션을 추가하는 가장 간단한 방법은 kubectl annotate 명령을 사용하는 것이다.

 

 

다음과 같이 my-app에 mycompany/someannotation을 kyunghoon이라는 값과 함께 추가했다.

키의 충돌을 방지하기 위해 어노테이션의 키로 이러한 형식을 사용하는 것이 좋다.

 

kubectl describe를 통해 my-app의 어노테이션을 확인할 수 있다.