satococoa's blog

主にサーバーサイド、Web 系エンジニアのブログです。Go, Ruby, React, GCP, ...etc.

複数の pod で並列に kubectl exec を実行する

こんな感じで OK

kubectl get pods -l name=app -o jsonpath="{.items[*].metadata.name}" | xargs -n1 -P4 -I{} kubectl exec {} bin/rails r 'Rails.logger.info(Rails.env)'

xargs の P オプションの値は最大プロセス数。

参考: JSONPath Support kubernetes.io