kubernetes - Kubernetes 在所有 php-fpm pod 上执行命令
问题描述
我想chown
在我所有的 php-fpm pod 上执行一个命令。
我来到了这一部分:
#!/bin/bash
PODS=$(kubectl get pods -n my-production | grep php-fpm | awk -F' *|/' '$2 == $3 && $4 == "Running"' | awk {'print $1'} | column -t )
for POD in $PODS
do
echo $POD
kubectl -n my-production exec -it $POD -c php /bin/bash
done
echo "all done"
这是输入名称中包含“php-fpm”的每个特定 pod。
我想为每个豆荚执行一个 chown 命令。
我应该运行的命令如下所示:
chown -R www-data:www-data /var/app/current/app/cache
解决方案
只需替换脚本中的命令:
#!/bin/bash
PODS=$(kubectl get pods -n my-production | grep php-fpm | awk -F' *|/' '$2 == $3 && $4 == "Running"' | awk {'print $1'} | column -t )
for POD in $PODS
do
echo $POD
kubectl -n my-production exec $POD -c php -- chown -R www-data:www-data /var/app/current/app/cache
done
echo "all done"
由于您执行的是非交互式命令,因此您不需要-it
标志,并且由于该命令具有参数,因此您需要--
在 kubectl 命令和要在 Pod 上运行的命令之间设置一个。
推荐阅读
- cassandra - dsbulk 卸载丢失的数据
- flutter - 在运行时将图像从计算机上传并显示到 FLUTTER WEB APP
- angular - 如何在Angular 9中的所有组件中使用带有表单的单个模态?
- java - Eclipse JAXRS POST 请求有效负载未转换为请求模型对象
- python - 如果第一列中的元素等于前一行,则增加第二列值
- javascript - 使用 JavaScript 切换 HTML 元素的内容
- compression - 如何使用 ZLIB 放气方法?
- flutter - 如何在颤动中自动对每个日期的每个图块中的数据进行整数处理?
- docker - docker-compose 中的环境变量
- c++ - 使用 OR 语句时 Lex 程序无法识别单词