본문 바로가기

kubernetes, helm, rancher

kubernetes labels

기본적인 kubernetes resource, option 등을 설명한 블로그입니다. 추가적인 기능을 보고싶으시면 docs를 참고바랍니다.

https://kubernetes.io/docs/home/

 

Kubernetes Documentation

Kubernetes is an open source container orchestration engine for automating deployment, scaling, and management of containerized applications. The open source project is hosted by the Cloud Native Computing Foundation.

kubernetes.io

  • label은 Node를 포함하여 pod, deployment 등 모든 리소스에 할당. selector를 이용해서 선택하며, key-value로 적용. 많은 리소스를 구분하기 위해서는 최소 2개 이상의 키를 보통 사용함.
  • kubectl get pod --show-labels
  • kubectl run [resource type] [resource name] ... --labels=[label] ~
"metadata": {
    "labels": {
      "key1" : "value1",
      "key2" : "value2"
    }
}

 

  • run을 이용해서 cmd로 pod를 생성하면 lable은 run=cmdpod를 default로 가진다.
  • kubectl get pods -l[--selector] [key:value]
  • kubectl label pod [pod name] [key:value] [key:value] ... [--overrite (key값이 같을 때)] 
  • kubectl label pod [pod name] [key]- -> 같은 key label 삭제
  • kubectl label nodes [node name] [key:value] -> worker node의 특성을 label로 설정할 수 있다.
  • kubectl get nodes --show-labels
  • kubectl get nodes -L [key],[key].. -> 해당 key를 가지는 node 보여준다.

 

spec:
  nodeSelector:
    [key]: [value]
    [key]: [value]
  ...
# node selector를 통해 해당 label을 가지는 node에 실행. 해당 node가 없으면 pending

 

'kubernetes, helm, rancher' 카테고리의 다른 글

kubernetes scheduling  (0) 2021.12.01
kubernetes configmap, secret  (0) 2021.11.30
kubernetes services  (0) 2021.11.27
kubernetes HA(Highly Available), multi master node  (0) 2021.11.27
kubernetes Statefulset, Job, Cronjob  (0) 2021.11.25