2017-03-02 82 views
2

我想知道人們如何在AWS中部署生產口徑Kubernetes集羣,更重要的是,他們如何選擇他們的方法。如何在AWS上部署Kubernetes?

k8s documentation點向kops適用於Debian,Ubuntu的,CentOS的,和RHEL或kube-aws爲CoreOS /集裝箱Linux操作系統。在這些選擇中,不清楚如何挑選其中的一個。由於CoreOS專爲容器工作負載而設計,因此它看起來是最引人注目的選擇。

但是等等,還有更多。

bootkube似乎是CoreOS部署技術的下一次迭代,並且在roadmap上包含在kube-aws中。我應該等到kube-aws使用bootkube嗎?

Heptio最近宣佈在AWS中部署k8s的Quickstart architecture。這是最新的方法,因此可能是最不成熟的方法,但它似乎已經從AWS內部獲得了牽引力。

最後kubeadm是一件事情,我真的不知道它適合所有這一切。

我可能還缺少更多的方法。

鑑於具有重疊意圖的選項數量,選擇前進路徑非常困難。我對概念驗證不感興趣。我希望能夠部署一個安全的高可用性羣集供生產使用,並且能夠隨着時間的推移升級羣集(主機操作系統,etcd和k8s系統組件)。

你選擇了什麼,你是如何決定的?

+0

您可能想看看CoreOS構造分佈 –

回答

1

我想說挑不出什麼這符合你的需求(見Picking the right solution)...

這可能是:

羣集設置
  • 集成在現有的工具鏈 的
    • 速度
      • eg KOPS與Terraform整合,這可能是一個非常適合你的團隊/公司/內的一些prople
    • 體驗...
      • 例如怎麼舒服你是相關的Linux發行版
    • 工具本身
      • 一些工具所需要的成熟度都非常的α,你願意玩早日適配器的作用是什麼?
    • 能力Kubernetes版本之間的升級
      • kubeadm有這個擺上重要議事日程,一些人寧願扔掉,而不是升級
    • 需要融入外部工具(監控,記錄集羣, AUTH,...)
    • 支持的雲提供商

    喲我的具體要求我會選擇Heptio或kubeadm方法。

    • Heptio如果你能與給定的約束條件(如預定義OS)
    • kubeadm,如果你需要更多的靈活性,kubeadm所做的一切,可以轉移到其他雲提供商

    其他選擇住AWS在我的清單中更低:

    • Kubernetes the hard way - 使用這可能是設置生產羣集的唯一真實方法a這是你完全理解系統每個運動部分的唯一方法。名單之下,因爲任何工具的結果往往可能綽綽有餘,即使是生產。
    • kube-up.sh - 由社區過時了,所以我不使用它的新項目
    • kops - 我的團隊曾與它的一些奇怪的經驗,這似乎是由於我們的(自定義)需要當年(現有VPC)這就是爲什麼它在我的清單中更低 - 這對於使用Terraform的環境也是第一。
    • bootkube - 降低我的名單上,因爲它限制CoreOS
    • Rancher - 有趣的工具鏈,似乎是太多的單一叢集

    Offtopic:如果你沒有在AWS上運行時,我總是會考慮在GCE上運行生產工作負載,因爲這是一個管理良好的平臺,而不是您自己構建的東西。

  • +0

    Thx作爲您的迴應。正如我上面寫的,AWS在這裏是一個基本要求。你能解釋一下爲什麼你會選擇Heptio和Kubeadm?說實話,鑑於我對他們的能力的理解,這兩個人的名單都較低。 –

    +0

    我已經添加了一些其他解決方案以及我的主觀意見 - 我不會等待任何工具,而是準備稍後切換/升級。等待意味着你依賴於所有需要的工具。 – pagid

    +0

    非常有幫助的回覆 –