k8s 中,一个 Pod 里面有 A,B 两个容器,假设 容器 B 里面有一个 dump 命令,现在向在容器 A 中使用这个 dump 命令,可以做到吗
k8s 中,一个 Pod 里面有 A,B 两个容器,假设 容器 B 里面有一个 dump 命令,现在向在容器 A 中使用这个 dump 命令,可以做到吗
|
dayeye2006199Nov 8, 2022 via Android
1
把 B 做成 RPC 或者 Web 服务,然后让 a 去调用。
|
|
2
如果是编译好的可执行文件,可以用 ldd `which dump` 查看依赖库,把可执行文件和所有依赖库都拷贝到对应位置
|
|
cabbageNov 9, 2022
3
如果单纯就一个程序的话,pvc 打包出来挂载共享好了
|
|
lhx2008Nov 9, 2022 via Android
4
可以通过 emptydir 共享 socket 文件
|
|
tuutooNov 9, 2022 via Android
5
|
|
shakarakaNov 9, 2022
6
典型的 RPC 需求
|
|
kennylam777Nov 9, 2022
7
EmtpyDir 分享 socket +1
一個 Pod 內還可以 share processes namespace 。 |
|
eudoreNov 9, 2022
8
1 、要是一个静态二进制
|
|
eudoreNov 9, 2022
9
然后两个容器挂载同一个 hostpath ,打通存储启动时将二进制进去,修改 env PATH 就有命令。 如果不是静态二进制,尽量系统环境一样依赖一样,可以使用动态链接二进制。
|
|
hualuogengNov 9, 2022
10
@kennylam777 shared processes namespace 最简单
|
|
EchoUtopiaNov 9, 2022
11
最简单的方法是容器 a 加上 dump 命令
|
|
r4aAi04Uk2gYWU89Nov 9, 2022
12
|
|
13
@kennylam777 看了官方的示例,没太懂,如果我想在 shell 里面调用 nginx command 应该如何操作啊
|
|
kennylam777Nov 9, 2022
14
@godfunc nginx command 那是 signal to PID 了,shared processes namespace 就是為了這種應用而生,Pod A 先把 nginx 的 PID 寫到 emtpyDir ,pod B 讀取 PID 然後用 kill 發 signal 給 nginx
|
|
Davic1Nov 10, 2022
15
是不是可以通过 ssh 直接在 B 上执行 dump 命令?
|