Labels and Selectors
labels과 selector는 오브젝트를 선택하고 그룹화 하기 위해 사용된다.
︎ env라벨이 prod인 모든 오브젝트 찾기
$ kubectl get all -l env=prod
Plain Text
복사
︎ 여러 라벨로 POD 찾기
$ kubectl get po -l env=prod,bu=finance,tier=frontend
Plain Text
복사
Selectors는 이러한 항목을 필터링 할 수 있음
kubernetes에서 Labels, Selector가 사용되는 방법
apiVersion: v1
kind: Pod
metadata:
name: simple-webapp
labels:
app: App1
function: Front-end
spec:
containers:
- name: simple-webapp
image: simple-webapp
ports:
- containerPort: 8080
Plain Text
복사
포드가 생성된 후, 레이블이있는 포드를 선택하려면 아래 명령을 실행합니다.
$ kubectl get pods --selector app=App
Plain Text
복사
Kubernetes는 라벨을 사용하여 서로 다른 개체를 함께 연결합니다.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: simple-webapp
labels:
app: App1
function: Front-end
spec:
replicas: 3
selector:
matchLabels:
app: App1
template:
metadata:
labels:
app: App1
function: Front-end
spec:
containers:
- name: simple-webapp
image: simple-webapp
Plain Text
복사
For services
```
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: App1
ports:
- protocol: TCP
port: 80
targetPort: 9376
```
Plain Text
복사
Annotations
•
annotations는 상세 정보를 표현하는 목적으로 사용된다.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: simple-webapp
labels:
app: App1
function: Front-end
annotations:
buildversion: 1.34
spec:
replicas: 3
selector:
matchLabels:
app: App1
template:
metadata:
labels:
app: App1
function: Front-end
spec:
containers:
- name: simple-webapp
image: simple-webapp
Plain Text
복사
K8s Reference Docs: