簡體   English   中英

Windows和Linux共同生活在Kubernetes集群中

[英]Windows & Linux living together in Kubernetes cluster

我正在查看似乎具有Windows兼容性的kubernetes文檔 ,但是我並不完全清楚Linux和Windows是否可以共存 (我的意思是,在不同的VM中但是同一個集群)。

我想知道gcloudazureaws是否支持這種情況。 而且,使其工作的程序或示例。 就像如何在正確的VM(Windows或Linux)中創建pod以及水平和集群自動縮放器如何工作一樣。

用例是2個API,一個在Windows(.NET Framework)中運行,另一個在linux(python / c ++)中運行,我希望能夠重新路由它們,能夠相互調用,擴展它們等等,並使用kubernetes。 需要注意的是, .NET Framework應用程序具有無法傳遞給.NET Core依賴項(主要用於數學優化),這意味着我無法將應用程序轉換為基於Linux的應用程序。

有些歷史記錄,所以容器是Linux的東西,因此Windows上沒有容器本身。 Docker為Windows創建了Docker,但實際上它的作用是運行Hyper-V Linux VM(以前是VirtualBox),並在其內部運行容器。 截至最新的Docker版本,微軟已經在Hyper-V上添加了一些功能,允許運行這些容器本身使得在容器中運行.NET應用程序變得容易。

K8s在Golang中實現,因此通過使用Golang交叉編譯器(或Windows上的本機)將kubeletkube-proxykubectl等主要組件kubectl到Windows通常更容易

一個棘手的部分是網絡,但看起來他們已經在文檔中找到了它

至於主要提供商的公共雲支持:

  • AWS

    • 管理程序:修改過的Xen或KVM。 沒有嵌套虛擬化支持。
    • VM:Windows VM。 無法利用嵌套虛擬化的Hyper-V,但可以運行Docker for Windows。
    • 裸金屬:(撰寫本文時為i3metal)。 本機運行Hyper-V和Windows運行Docker。
  • 天藍

    • 管理程序:Hyper-V。 支持某些實例類型的嵌套虛擬化。
    • VM:Windows VM,可以使用Hyper-V的嵌套虛擬化,並可以運行Docker for Windows。
    • ACS,AKS,ACE:應該能夠利用嵌套虛擬化的Hyper-V和本地的一些案例。
  • GCP

    • 管理程序:KVM。 支持某些實例類型的嵌套虛擬化。
    • VM:Windows VM。 可以使用嵌套虛擬化運行Hyper-V,並可以運行Docker for Windows。

除此之外,我不知道還有什么(除了文檔中的內容 )問題非常廣泛。 只需安裝Docker for Windows,設置網絡,使用kubeadm加入群集,並使用nodeSelector中的nodeSelector規范安排Windows工作負載,並確保使用beta.kubernetes.io/os=windows標記Windows節點

還有一個很好的指南,在這里設置Kubernetes與Windows節點

是的,這應該是可能的。

由於所有部署都存在於docker容器中,因此您可以在Kubernetes上運行任何操作系統(在docker容器中)。 還有Windows。

在同一群集上運行Windows和Linux容器不應該導致任何問題。

暫無
暫無

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

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