簡體   English   中英

如何讓 Kubernetes pod 運行本地腳本

[英]How to let Kubernetes pod run a local script

我想在 Kubernetes pod 中運行本地腳本,然后將 output 結果設置為 linux 變量

這是我嘗試過的:

# if I directly run -c "netstat -pnt |grep ssh", I get output assigned to $result:

cat check_tcp_conn.sh 
#!/bin/bash
result=$(kubectl exec -ti <pod_name> -- /bin/bash -c "netstat -pnt |grep ssh")
echo "result is $result"

我想要的是這樣的:

#script to be called:
cat netstat_tcp_conn.sh
#!/bin/bash
netstat -pnt |grep ssh

#script to call netstat_tcp_conn.sh:
cat check_tcp_conn.sh 
#!/bin/bash
result=$(kubectl exec -ti <pod_name> -- 
/bin/bash -c "./netstat_tcp_conn.sh)
echo "result is $result

結果顯示result is /bin/bash: ./netstat_tcp_conn.sh: No such file or directory

如何讓 Kubernetes pod 執行我本地機器上的 netstat_tcp_conn.sh?

您可以使用以下命令在 pod 中執行腳本:

kubectl exec POD -- /bin/sh -c "`cat netstat_tcp_conn.sh`"

您可以使用 kubectl cp /tmp/foo:/tmp/ 等 kubectl 命令將本地文件復制到 pod
然后您可以更改其權限並使其可執行並使用 kubectl exec 運行它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM