kubernetes在容器編排大戰中因爲應用的可移植性以及支持混合雲/多雲部署方式上的靈活性。加上開放可擴展的理念,使得周邊社區很是活躍。從既有調研結果看,kubernetes已成爲容器編排領域的標準。可是它並不成熟,不少方面都大有可爲,下面就是列舉了一些方面:mysql
kubernetes是一個集中式容器管理工具。橫向上來講,集羣管理工具還有分佈式和共享式等。表明性的分佈式容器管理工具如yarn與kubernetes的區別是yarn的一臺宿主機做爲一個master來進行容器管理。分配速度很快。kubernetes以集羣爲單位,資源分配更好一些。共享式管理谷歌內部的borg在用,聽說是一種更先進的分配方式。算法
kubernetes做爲目前最受歡迎的容器管理工具,由於存儲等方面的瓶頸,在集羣規模大時須要拆分紅多個集羣分開管理。爲了更達到在多個集羣時能和一個集羣同樣統一管理,業界又出來了一個集羣聯邦的概念。就是讓底層的多個集羣對外像一個集羣同樣工做。目前這個技術還不是很成熟,在這方面是大有可爲的。sql
kubernetes的scheduler模塊作的並非很好,因此有意願給kubernetes提patch的同窗從這部分入手,提的patch很容易被採納,成爲貢獻者之一。docker
在實際大公司使用的使用。每每本身造輪子會重寫這一部分。編程
kubernetes採用etcd作存儲,直接形成了kubernets的容量瓶頸。因此不少公司都在這上面作了優化。阿里在etcd上加了一層tair緩存來使用。京東將etcd替換成了mysql。緩存
kubernetes的DNS大公司使用的也不多。由於通常大公司都有本身服務註冊發現機制和命名規範。分佈式
kubernetes的pod級別自動擴容分紅兩個層次:橫向擴容HPA和縱向擴容VPA,來擴容容器可以使用的資源量。橫向擴容HPA很好辦,就是將容器縮掉,用更大配置再擴出來。縱向擴容VPA又稱做原地升級,這個會麻煩。由於k8s容器自己就是一個docker進程。VPA就是進程不重啓實現升級。工具
kubernetes核心功能並很少,不少功能都是以插件的形式提供,而且用戶能夠實現接口來作成本身的插件。學習
等上面這些都成熟了之後,kubernetes還有最大的問題。它爲解決資源利用率而生。因此須要經過算法和AI層面進一步提升資源利用率。因此對go語言的學習、算法的學習是做爲kubernetes相關的開發人員的必需技能。 優化
一線開發十二年,有日本東京和美國硅谷研發經驗。有百餘項技術發明專利,目前任美團點評技術專家。有本身的技術公衆號「編程一輩子」。若是您在閱讀文章時有什麼疑問或者發現文章的錯誤,歡迎在公衆號裏給我留言。