Kubernetes在所有php fpm吊舱上执行命令

Kubernetes在所有php fpm吊舱上执行命令,kubernetes,Kubernetes,我想在我的所有php fpm pod上执行chown命令 我谈到这一部分: #!/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-produc

我想在我的所有php fpm pod上执行
chown
命令

我谈到这一部分:

#!/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

我想为每个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'}列-t)
对于$PODS中的POD
做
回声$POD
kubectl-n my production exec$POD-c php-chown-R www-data:www-data/var/app/current/app/cache
完成
回音“全部完成”

由于您执行的是非交互式命令,因此不需要使用
-it
标志,而且由于该命令具有参数,因此在kubectl命令和要在POD上运行的命令之间需要一个
-

只需在脚本中替换该命令即可:

#/bin/bash
PODS=$(kubectl get PODS-n my production | grep php fpm | awk-F'*.'/''2==$3&&$4==“Running”| awk{'print$1'}列-t)
对于$PODS中的POD
做
回声$POD
kubectl-n my production exec$POD-c php-chown-R www-data:www-data/var/app/current/app/cache
完成
回音“全部完成”
由于您执行的是非交互式命令,因此不需要
-it
标志,而且由于该命令具有参数,因此在kubectl命令和要在POD上运行的命令之间需要
--