K8s 잘 알려진 어노테이션

Jmnote (토론 | 기여)님의 2025년 9월 7일 (일) 18:02 판 (→‎같이 보기)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요[ | ]

k8s Well-Known Annotations
쿠버네티스 잘 알려진 어노테이션
  • 쿠버네티스 리소스에 붙는 어노테이션은 부가적인 메타데이터를 저장하는 데 사용된다.
  • 레이블은 주로 셀렉터와 스케줄링에 쓰이는 반면, 어노테이션은 도구, 컨트롤러, 기능 확장을 위한 부가 정보 전달에 쓰인다.
  • 일부는 쿠버네티스에서 공식적으로 정의되어 있으며, 일부는 특정 기능이나 컴포넌트에서 사용된다.

2 예시[ | ]

어노테이션 키 주요 대상 설명
batch.kubernetes.io/cronjob-scheduled-timestamp Job/Pod CronJob이 생성한 Job의 원래 스케줄 시각 기록 (RFC3339 형식)
cluster-autoscaler.kubernetes.io/safe-to-evict Pod 클러스터 오토스케일러가 Pod 축출 가능 여부 지정
endpoints.kubernetes.io/last-change-trigger-time Endpoint Pod/Service 변경으로 Endpoints가 갱신된 마지막 시각
endpoints.kubernetes.io/over-capacity Endpoint 백엔드가 1000개 초과 시 잘린 상태임을 표시
ingressclass.kubernetes.io/is-default-class IngressClass 이 값이 "true"이면, 클래스가 지정되지 않은 Ingress에 기본으로 할당됨
kubeadm.kubernetes.io/component-config.hash ConfigMap kubeadm이 관리하는 컴포넌트 설정 ConfigMap의 해시값 (SHA-256)
kubeadm.kubernetes.io/etcd.advertise-client-urls Pod kubeadm이 etcd Pod에 부여하는 etcd 클라이언트 접속용 URL
kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint Pod kubeadm이 kube-apiserver Pod에 부여하는 advertise address/port
kubectl.kubernetes.io/default-container Pod kubectl exec/logs에서 기본 컨테이너 지정
kubectl.kubernetes.io/last-applied-configuration 모든 리소스 kubectl apply가 마지막으로 적용한 구성 저장 (Server-side Apply로 대체됨)
kubectl.kubernetes.io/restartedAt Pod/Workload kubectl rollout restart가 생성한 최근 재시작 시각 기록
kubernetes.io/service-account.name Secret 토큰이 대표하는 ServiceAccount 이름 기록
kubernetes.io/service-account.uid Secret 토큰이 대표하는 ServiceAccount UID 기록
nfd.node.kubernetes.io/extended-resources Node Node Feature Discovery(NFD)가 관리하는 확장 리소스 목록 (내부용)
nfd.node.kubernetes.io/feature-labels Node NFD가 관리하는 노드 피처 라벨 목록 (내부용)
nfd.node.kubernetes.io/master.version Node NFD 마스터 버전 기록
nfd.node.kubernetes.io/worker.version Node NFD 워커 버전 기록
nginx.ingress.kubernetes.io/configuration-snippet Ingress NGINX Ingress Controller용 추가 설정 지정 (allow-snippet-annotations 필요, 멀티테넌트 환경에서 위험)
rbac.authorization.kubernetes.io/autoupdate RBAC(Role, ClusterRole, Binding) 기본 RBAC 객체 자동 업데이트 여부 지정
service.kubernetes.io/topology-mode Service 서비스 트래픽을 토폴로지 영역 내에 유지할지 여부 설정 (Topology Aware Routing)
storageclass.kubernetes.io/is-default-class StorageClass 이 값이 "true"이면, 클래스 미지정 PVC에 기본으로 할당됨
volume.kubernetes.io/selected-node PVC 스케줄러가 선택한 노드 이름 기록 (동적 프로비저닝 시 사용)
volume.kubernetes.io/storage-provisioner PVC 해당 PVC를 동적 프로비저닝할 볼륨 플러그인 이름 기록
volumes.kubernetes.io/controller-managed-attach-detach Node 볼륨 attach/detach를 kubelet이 아닌 컨트롤러가 관리함
container.apparmor.security.beta.kubernetes.io/* Pod 컨테이너별 AppArmor 프로파일 지정 (deprecated → appArmorProfile 사용)
experimental.windows.kubernetes.io/isolation-type Pod Windows 컨테이너 Hyper-V 격리 실행 (deprecated)
kubectl.kubernetes.io/default-logs-container Pod 기본 로그 컨테이너 지정 (deprecated → default-container 사용)
kubernetes.io/ingress.class Ingress 어떤 Ingress 컨트롤러가 이 Ingress를 처리할지 지정 (deprecated → IngressClass 사용)

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}