在脚本化的“ oc rsh”调用中访问/传递openshift pod环境变量

时间:2019-06-11 00:10:26

标签: bash postgresql containers openshift rsh

也许某些openshift / docker专家可以帮助我解决这一问题。事先为我的格式道歉,即时通讯已在移动设备上,暂时无法访问确切的错误代码。如有需要,我可以稍后提供更详细的输入/ stderr。

有关环境的一些详细信息:

运行单个PostgreSQL v9.6容器的OC荚。

-CentOS7主机

-Centos7本地计算机

-bash 4.2 shell(在容器中和在我的本地盒中)

我的目标是使用单行bash命令将rsh放入postgresql容器中,然后运行以下命令以将所述容器数据库打印到我的本地终端。像这样的东西:

[root@mybox ~]$ oc rsh pod-name /path/to/command/executable/psql -l

结果: rsh找不到所需的库,错误代码126

我要解决的问题是,执行此行代码时,rsh无法看到目标容器的环境变量。这意味着它找不到psql命令所需的支持库。如果我没有提供示例中所示的完整路径,则它甚至找不到psql命令本身。

令人讨厌的是,运行以下一个内衬将所有pod环境变量(包括我需要的psql变量)打印到我的本地终端,因此应该可以通过某种方式访问​​它们。

[root@mybox ~]$ oc rsh pod-name env

由于此操作将作为自动化过程的一部分执行,因此不能选择简单的交互式rsh方法(如下所述,该方法有效)。

[root@mybox ~]$ oc rsh pod-name

sh-4.2$ psql -l

(pod可以在远程终端上愉快地打印数据库信息)

我尝试执行定义psql环境变量的脚本,然后链接所需的命令,但是在尝试执行env脚本时却获得了拒绝权限。

[root@mybox ~]$ oc rsh pod-name /path/to/env/define/script && psql -l

权限被拒绝,rsh错误代码127

0 个答案:

没有答案