"metadata": {
"labels": {
"key1" : "value1",
"key2" : "value2"
}
}
"release" : "stable"
, "release" : "canary"
"environment" : "dev"
, "environment" : "qa"
, "environment" : "production"
"tier" : "frontend"
, "tier" : "backend"
, "tier" : "cache"
"partition" : "customerA"
, "partition" : "customerB"
"track" : "daily"
, "track" : "weekly"
등호 기반
같은지 ( = ) , 다른지 ( ≠ ) 구분하는 연산자를 사용할 수 있다.
environment=develop
release=stable
=> Label의 키가 environment인 것 중 값이 develop인 것들을 선택하고,
Label의 키가 release인 것 중 값이 stable인 것들을 선택한다.
집합 기반
여러 개 값을 조건으로 설정한 다음 해당 키가 있는 레이블값이 조건에 속하는지 ( in ), 아닌지 ( notin ), 특정 레이블의 키가 존재 ( exists )하는지를 조건으로 설정할 수 있다.
# 환경이 개발 혹은 스테이지인 것을 선택
environment in (develop, stage)
# 배포가 최신 것 혹은 카나리를 선택
release notin (latest, canary)
# gpu라는 키가 있는 모든 Label 선택
gpu
# gpu라는 키가 없는 모든 Label 선택
!gpu
"metadata": {
"annotations": {
"key1" : "value1",
"key2" : "value2"
}
}
apiVersion: v1
kind: Pod
metadata:
name: annotations-demo
annotations:
imageregistry: "https://hub.docker.com/"
manager: "myadmin"
contact: "000-0000-0000"
release-version: "v1.0"
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80