前言
因為dockershim的問題,
這次要搬cluster的node了。
但我根本忘記有哪個yaml有寫到 nodeSelector了,
一個一個看又好懶…怎麼辦?
此時,我們要知道『科技,始終來自於人類的惰性』,
來寫程式吧。
正文
想起來之前在檢查 docker.sock的時候,有用指令檢查過這個yaml (1)裡面,
有沒有 /docker.sock
kubectl get pods --all-namespaces \
-o=jsonpath='{range .items[*]}{"\n"}{.metadata.namespace}{":\t"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.hostPath.path}{", "}{end}{end}' \
| sort \
| grep '/var/run/docker.sock'
這段最後面兩個就不用看了,sort 跟 grep 是 linux的指令。
主要針對 -o jsonpath 來看,詳細指令 參考(2)
當要取得複數資料時,用 range 來取資料。
然後…參考 pod的yaml看要取得哪些欄位來用吧。
下面範例為取得 全部的 nodeSelectord
kubectl get pods -A \
-o=jsonpath='{range .items[*]}{"\n"}{.metadata.namespace}{":\t"}{.metadata.name}{":\t"}{.spec.nodeSelector}{end}'
再排序一下,就可以很快的知道有哪些yaml有用到 nodeSelector了。
ref.
1. 從 dockershim 遷移遙測和安全代理
2. JSONpath 幫助
0 意見:
張貼留言