簡體   English   中英

為什么 SSH 在 kubernetes pods/container 中不起作用?

[英]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 容器?

有以下三點需要考慮:

  1. 就像大衛在他的評論中所說:

我會重新設計您的系統以使用更易於設置的通信系統,例如 pod 之間的 HTTP 調用。

  1. 如果您將服務放在部署之前,它不會中繼任何 SSH 連接。 所以你必須直接指向 pod,這可能非常不方便。

  2. 如果您錯過了:您需要在部署模板中聲明端口 22。

如果這有幫助,請告訴我。

暫無
暫無

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

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