簡體   English   中英

Kubernetes 在 WSL2 中安裝文件夾

[英]Kubernetes mounting folders in WSL2

I'm trying to wrap my head around Kubernetes and as an exercise, I want to.igrate my docker-compose setup, which consists of nginx, php-fpm and mysql to a k8s cluster.. While I'm familiar with Docker and docker-compose,我只是似乎不知道如何將本地文件夾安裝到 Kunernetes pod 中。

我想要實現的只是將 Docker 中的-v /home/user/www:/var/www/html放入每個 pod 中。

但無論我如何配置 PersistantVolume,掛載在 pod 中的文件夾都是空的。 我嘗試了帶有 WSL2 的 Docker 桌面,WSL2 下的 microk8s(使用 systemd hack 安裝的快照)和 WSL2 下的 minikube。

這個存儲類是否相關? 這在 WSL2 中甚至可能嗎?

Docker 綁定安裝 model 不能真正用於 Kubernetes 您描述的方式。

Kubernetes 的 model 圍繞着一組本質上可互換的機器。 假設您有 10 個系統。 哪個有 HTML 內容? 它是如何到達那里的? 如果您需要添加另一個節點,或者一個節點被銷毀,會發生什么? 您碰巧使用只有一個節點的測試設置並不會改變該設計點。

如果您使用的是 Kubernetes,則基本上需要將此內容構建到圖像中,並將其推送到某種注冊表中。 有幾種選擇(單個index.html文件可以填充到 ConfigMap 中;您可以使用 AWS S3 等外部存儲)但大多數情況下您必須編寫 Dockerfile,將其COPY到圖像中,然后引用該image:在您的部署規范中。

對於您提到的特定堆棧,我還看到了一些使用命名卷將數據從 PHP 容器復制到 nginx 服務器的設置。 這在 Kubernetes 中效果不佳:無法在容器之間共享更容易設置的卷類型,並且 Kubernetes 不會像 ZC5FD214CDD0D2B3B4272E73B02 那樣自動將內容復制到卷中。 我建議避免在 Kubernetes 中進行任何類型的文件系統共享; 在普通的 Docker 中避免它也是一個好習慣(基於COPY的圖像設置在單主機 Compose 設置中可以正常工作)。

暫無
暫無

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

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