[英]Why SSH is not working in kubernetes pods/container?
我們有一個應用程序,它使用 SSH 將工件從一個節點復制到另一個節點。 在創建 Docker 鏡像(基於 Linux Centos 8)時,我已經安裝了 Openssh 服務器和客戶端,當我從 Docker 命令運行鏡像並執行到它時,我能夠成功運行 SSH 命令,我還看到了端口 22啟用和監聽( $ lsof -i -P -n | grep LISTEN
)。
但是,如果我在 Kubernetes 集群中使用相同的映像啟動 POD/Container,我看不到端口 22 已啟用並在容器內進行偵聽。 即使我嘗試從 k8s 容器內部啟動sshd
,它也會給我以下錯誤:
Redirecting to /bin/systemctl start sshd.service Failed to get D-Bus connection: Operation not permitted.
有沒有辦法在啟用 SSH 的情況下啟動 K8s 容器?
有以下三點需要考慮:
我會重新設計您的系統以使用更易於設置的通信系統,例如 pod 之間的 HTTP 調用。
如果您將服務放在部署之前,它不會中繼任何 SSH 連接。 所以你必須直接指向 pod,這可能非常不方便。
如果您錯過了:您需要在部署模板中聲明端口 22。
如果這有幫助,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.