自從我開始使用Docker已經有一段時間了,我也一直在計劃學習Kubernetes但注意到它將洗掉 dockershim 組件,該組件使 Docker 在1.23 版中成為 Kubernetes 容器運行時。
我只是想了解我應該使用 docker 和 dockershim 在 1.22 版上開始學習 Kubernetes,還是等到 dockershim 支持結束并開始遵循新的學習路徑?
我其實很擔心,因為我的一些專案使用 Unix Socket
docker.sock來收集容器資料。
所有的答案和評論將不勝感激。
uj5u.com熱心網友回復:
“Kubernetes 正在洗掉 Docker 支持”實際上是一個非常低級的細節。除非您實際管理集群,否則您不會注意到或關心。如果您的專案需要使用分布在多個系統上的多個副本運行,那么學習 Kubernetes 是有意義的,并且沒有特別的理由要等到此內部更改完成。您仍然需要了解詳細資訊,例如如何構建 Docker 鏡像并將它們推送到存盤庫以有效開發在 Kubernetes 上運行的應用程式。
我的一些專案使用 docker 套接字
docker.sock
這不適用于 Kubernetes。總的來說,Kubernetes 的安全控制比 Docker 強得多。一方面,這意味著您可以將 ServiceAccount 配置為具有在特定命名空間中創建新 Pod 的權限,而無需授予其在任何地方讀取 Secret 的權限。另一方面,這也意味著容器通常會被禁止做可能危及主機的事情。(例如,我理解hostPath完全禁止卷并不少見。)即使您的 Kubernetes 在下面運行 Docker,您也可能無法訪問 Docker 套接字,如果可以,您會看到許多 Kubernetes 內部結構和它們只會是當前節點上運行的內容。
您應該重新審視您的應用程式是否確實需要訪問 Docker 套接字。在很多情況下,像 RabbitMQ 這樣的作業佇列可以代替動態啟動容器的需要。您提到了監控需求,并且可能有現成的專案可以滿足該需求。在最壞的情況下,您可能需要更新您的應用程式以支持 Docker 和 Kubernetes API,具體取決于它的運行位置。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/378414.html
標籤:码头工人 Kubernetes Unix 套接字
