簡體   English   中英

使用 pod 名稱執行 kubernetes pod

[英]Executing a kubernetes pod with the use of pod name

我正在編寫一個 shell 腳本來執行一個 pod,其語法為:

winpty  kubectl --kubeconfig="C:\kubeconfig" -n namespace exec -it podname bash

這工作正常,但由於 podname 不穩定並且每次部署都會發生變化,所以有什么替代方案嗎?

謝謝。

您可以使用以下命令:

kubectl -n <namespace> exec -it deploy/<deployment-name> -- bash

向您的應用程序添加服務

如您所知,豆莢是短暫的。 它們動態地進出,以確保您的應用程序與您的配置保持一致。 此行為實現了 kubernetes 的縮放和自我修復方面。

您的應用程序將由一個或多個可通過服務訪問的 pod 組成,應用程序的服務名稱和地址不會更改,因此充當訪問您的應用程序的穩定接口。

如果您的應用程序有一個 pod 或多個 pod,此方法都適用。

這有幫助嗎?

您可以正常使用$ kubectl exec命令,但定義更改 pod 名稱的值。

假設您有部署和標記的 pod:app=example,只需執行:

$ kubectl exec -it $(kubectl get pods -l app=example -o custom-columns=:metadata.name) -- bash

編輯:

您還可以執行:

POD_NAME = $(kubectl get pods -l app=example -o custom-columns=":metadata.name")

或者

POD_NAME = $(kubectl get pods -l app=example -o jsonpath = "{. Items [0] .metadata.name}")

最后

$ winpty kubectl exec -ti $POD_NAME --bash

確保您在正確的命名空間中執行命令 - 您還可以添加-n標志並定義它。

暫無
暫無

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

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