我能夠執行到一個 pod 中,并且在那個 pod 中我還想同時在我剛剛執行到的 pod 中運行一個 stolonctl 命令。這是我想要實作的一個例子。我首先嘗試使用第一個命令,然后嘗試查看我是否撰寫了第二個命令,如果它可以基于第一個命令作業,但它沒有。
Special execution command ${cluster_name} kubectl exec -it pod -c container ${cluster_name} -- /bin/bash
然后在bash中我也想運行這個
stolonctl --cluster-name [cluster_name] --store-backend [store_backend] --store-endpoints kubernetes status
我希望能夠在機器人中實作類似的東西。能夠在 pod 中執行類似于 ls 的操作
controlplane $ kubectl run --image=nginx web --restart=Never
pod/web created
controlplane $ kubectl get po
NAME READY STATUS RESTARTS AGE
web 0/1 ContainerCreating 0 4s
controlplane $ kubectl exec -it web -- /bin/bash
root@web:/# ls
bin dev docker-entrypoint.sh home lib64 mnt proc run srv tmp var
boot docker-entrypoint.d etc lib media opt root sbin sys usr
uj5u.com熱心網友回復:
您無需先在容器中打開 bash。可以stolonctl直接運行命令:
$ kubectl exec -it pod -c container ${cluster_name} -- stolonctl --cluster-name [cluster_name] --store-backend [store_backend] --store-endpoints kubernetes status
uj5u.com熱心網友回復:
您可以在不啟動 shell 的情況下執行命令,使用如下內容:
kubectl exec $pod -c $container -- \
stolonctl --custer-name $clustername and-any-other-options
或者,如果出于某種原因,您需要您的 shell(例如:在命令列中評估環境變數,如果您需要管道、、、&&... ||),您可以在 /bin/sh 中扭曲它,例如:
kubectl exec $pod -c $container -- /bin/sh -c \
"stolonctl --custer-name $clustername and-any-other-options"
不熟悉那個機器人框架,我不確定這是否對你有幫助......我想你必須使用Process 庫
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/520314.html
標籤:Kubernetes机器人框架kubectlKubernetes-pod
