Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- leetcode
- vscode
- autoencoder
- FDS
- 알고리즘
- pep8
- NaverAItech
- 백준
- Kubernetes
- python
- 프로그래머스
- PytorchLightning
- pytorch
- wandb
- docker
- GitHub Action
- GCP
- datascience
- 코딩테스트
- 완전탐색
- torchserve
- GIT
- Kaggle
- NLP
- rnn
- Matplotlib
- FastAPI
- DeepLearning
- github
- 네이버AItech
Archives
- Today
- Total
Sangmun
kubernetes label and selector 본문
쿠버네티스의 Label은 쿠버네티스의 리소스를 논리적인 그룹으로 나누기 위해 붙이는 레이블링이다.
selector는 Label을 이용하여 조회하려는 리소스만 조회할 수 있게 하는 기능이다.
yaml 파일 안에서 Label은 아래와 같이 metadata아래에서 선언을 하며 해당 이미지에는 app=backend, version=v1, env=prod라는 라벨링을 생성하였다.
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
app: backend
version: v1
env: prod
spec:
containers:
- image: my-pod
name: my-pod
또한 yaml에서 선언하지 않아도 kubectl 명령어로도 label을 생성하거나 삭제가 가능하다.
kubectl을 이용한 pod에 label 생성 및 삭제 명령어
* kubectl을 이용하여 pod의 라벨을 조회하는 명령어
# kubectl get pod <pod_name> --show-labels
$ kubectl get pod my-pod --show-labels
NAME READY STATUS LABELS
my-pod 1/1 Running <none>
* 라벨이 없던 이미지에 app:backend라는 key value로 라벨을 생성한 후의 겨로가
$ kubectl label pod my-pod app=backend
$ kubectl get pod my-pod --show-labels
NAME READY STATUS LABELS
my-pod 1/1 Running app=backend
* 라벨을 오버라이딩하는 명령어
$kubectl label pod <pod_name> <key>=<value> --overwrite
* 원하는 라벨만 조회하는 명령어
$kubectl get pod <pod_name> --label-columns <key1,key2...>
or
$kubectl get pod <pod_name> -L <key1,key2>
* 라벨을 삭제하는 명령어
$kubectl label pod <pod_name> <key1,key2...>-
# ex)kubectl label pod/my-pod app-
kubectl get 명령어와 함께 Selector를 사용하는 방법
$kubectl get <object> --selector <label query1, ... label query N>
$kubectl get <object> -l <label query1, ... label query N>
# label query: key=value
* pod에서 env가 prod인가 아닌가로 쿼리 (Equality-Based Selector)
# env가 prod인 경우
$kubectl get pod --selector env=prod
# env가 prod가 아닌 경우
$kubectl get pod --selector env!=prod
* 값이 어떤 집합에 속해 있는지 아닌지로 조회 (Set-Based Selector)
# env가 dev,stage,prod일 경우 조회
$kubectl get pod --selector ‘env in (dev,stage,prod)’
# env가 dev,stage,prod가 아닐 경우 조회
$kubectl get pod --selector ‘env notin (dev,stage,prod)’
출처 : 패스트캠퍼스
'개발 > kubernetes' 카테고리의 다른 글
kubernetes pod (0) | 2023.02.15 |
---|---|
쿠버네티스 오브젝트 (0) | 2023.02.15 |
Comments