🐧

kubectlのlabel selectorが意外と便利

2024/05/13に公開

label selectorとは

こんな感じで特定のラベルを持つリソースをフィルターするヤツ。

kubectl get pods -l environment=develop
kubectl get node -l 'pool in (apl, ingress)'

等価ベース

=, ==, !=が使える。

environment = production
tier != frontend

集合ベース

めっちゃ便利。

  • キーがenvironmentで値がproduction or qaのリソース
environment in (production, qa)
  • キーがtierで値がではないfrontend or backendのリソース、もしくはキーがtierのラベルを持たないすべてのリソース
tier notin (frontend, backend)
  • キーがpartitionのラベルを持つすべてのリソース
partition
  • キーがpartitionのラベルを持たないすべてのリソース
!partition

参考

https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

Discussion