Kubectl exec 通过 php 脚本处理变量问题
Kubeclt exec issues with variable via php script
kubernetes 和 php 的新手,所以我遇到了一些问题。非常感谢任何帮助!
<?php
$postgres = 'kubectl get pods -n migrationnamespace | grep postgres | cut -d " " -f1 2>&1';
$postgres_pod = shell_exec($postgres);
echo $postgres_pod;
$list2 = 'kubectl exec -it -n migrationnamespace ' . $postgres_pod . ' -- psql -U postgres -c \'SELECT * FROM mywhales\'; 2>&1';
echo "<pre>";
echo shell_exec($list2);
echo "<pre>";
?>
导致错误
postgres-7957478b7d-tmw6m
error: you must specify at least one command for the container
sh: line 1: --: command not found
当切换 '.$postgres_pod.'
为 postgres-7957478b7d-tmw6m
如下 - 它完全执行
$list2 = 'kubectl exec -it -n migrationnamespace postgres-7957478b7d-tmw6m -- psql -U postgres -c \'SELECT * FROM mywhales\';';
postgres-7957478b7d-tmw6m
whale
---------
16:117
......
561:539
(17 rows)
谢谢 - 迈克
字符串前后有时会有额外的空格,尤其是 return 个字符,这些字符在 echo
结果中并不总是出现。
使用 trim($postgres_pod)
将确保它们被删除。
kubernetes 和 php 的新手,所以我遇到了一些问题。非常感谢任何帮助!
<?php
$postgres = 'kubectl get pods -n migrationnamespace | grep postgres | cut -d " " -f1 2>&1';
$postgres_pod = shell_exec($postgres);
echo $postgres_pod;
$list2 = 'kubectl exec -it -n migrationnamespace ' . $postgres_pod . ' -- psql -U postgres -c \'SELECT * FROM mywhales\'; 2>&1';
echo "<pre>";
echo shell_exec($list2);
echo "<pre>";
?>
导致错误
postgres-7957478b7d-tmw6m
error: you must specify at least one command for the container
sh: line 1: --: command not found
当切换 '.$postgres_pod.'
为 postgres-7957478b7d-tmw6m
如下 - 它完全执行
$list2 = 'kubectl exec -it -n migrationnamespace postgres-7957478b7d-tmw6m -- psql -U postgres -c \'SELECT * FROM mywhales\';';
postgres-7957478b7d-tmw6m
whale
---------
16:117
......
561:539
(17 rows)
谢谢 - 迈克
字符串前后有时会有额外的空格,尤其是 return 个字符,这些字符在 echo
结果中并不总是出现。
使用 trim($postgres_pod)
将确保它们被删除。