[英]kubernetes on docker microservices on AWS EC2 instance
我的開發設置在 Amazon EC2 實例上的 Docker 環境中使用微服務部署。 現在,我們正在嘗試在該 EC2 實例中實現 Kubernetes 以自動縮放和負載平衡部署在 Docker 中的微服務。
我看到了一種安裝kubectl和minikube並設置Kubernetes的方法,帶有節點和pod(我認為這種方法只是為了在本地測試)。 另一個來源有一個擁有兩到三個 EC2 實例的巨大過程,一個作為主實例,另一個作為從屬實例,具有相同的設置。
我可以僅在主節點上設置 Kubernetes 並在該節點上實現自動縮放和負載平衡嗎? 可以將所有內容保存在我的微服務所在的單個 EC2 實例中嗎?
我可以僅在主節點上設置 Kubernetes 並在該節點上實現自動縮放和負載平衡嗎?
是的,一點沒錯。
可以將所有內容保存在我的微服務所在的單個 EC2 實例中嗎?
是的你可以。 但是,如果我們談論生產,這不是“最佳實踐”。
我的開發設置在 Amazon EC2 實例上的 Docker 環境中使用微服務部署。 現在,我們正在嘗試在該 EC2 實例中實現 Kubernetes 以自動縮放和負載平衡部署在 Docker 中的微服務。
我看到這種方法存在以下問題。
我在 docker 上運行了 30 個微服務。
看起來至少有30 個容器,因此很可能會轉化為大約 30 個 pod。 請記住,除了用戶請求的 pod 之外,k8s 在kube-system
命名空間(dns、kube-proxy、default-backend 等)中運行了十幾個 pod。
此外,您提到了自動縮放,因此該單個節點上可能有相當多的 pod。
限制。
K8s 建議每個節點最多 110 個 pod 。
到目前為止,Kubernetes 已經過測試,可以在常見節點類型上可靠地工作。
大多數托管 k8s 服務甚至對每個節點的 pod 數量施加了硬性限制:
可用性。
如果您只有幾個節點,那么故障節點的影響會比您有很多節點時更大。 例如,如果您只有兩個節點,其中一個發生故障,那么大約一半的 pod 會消失。 如果您只有一個節點(上面有集群配置數據庫)... :)
因此,您無法將故障節點的工作負載重新調度到其他節點上。
如果您有高可用性要求,您可能需要集群中有一定的最小節點數。
把它們加起來:
另一個來源有一個擁有兩到三個 EC2 實例的巨大過程,一個作為主實例,另一個作為從屬實例,具有相同的設置。
安裝 k8s 有幾種方法。 我想你可能想檢查kops
工具。 此外,Kelsey Hightower 有一本非常全面的讀物,稱為kubernetes-the-hard-way 。
最后但同樣重要的是,有一篇關於主題的好文章。 此外,StackOverflow 上也有一些類似的討論。
我希望這些信息能對問題有所了解並回答您的問題:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.