梁勝博士親解Rancher 2.0:K8s之上的Rancher魔法

通過數月的努力,咱們終於發佈了Rancher 2.0 Technology Preview,這對Rancher Labs而言也是歷史性的、值得銘記的一刻。docker

Rancher 1.x容器管理平臺一直爲市場和用戶所喜好,自2016年3月Rancher 1.0發佈以來,Rancher server和Rancher agent的下載量達到了6000多萬次。全球範圍內Rancher的部署節點已超過10000個,付費客戶超過100個。幾乎天天都有用戶和客戶告訴咱們,Rancher讓他們在生產中運行Docker和Kubernetes變得容易。咱們深感感謝,是用戶們的激勵讓Rancher軟件變得更好。我還要特別感謝咱們的客戶,感謝他們對Rancher軟件的持續發展提供了資金上的支持!數據庫

Rancher 1.0中有一個易於使用的容器編排框架,稱爲Cattle。且Rancher1.0支持全部主流的容器編排框架,包括Swarm、Mesos和Kubernetes。一個容器管理平臺,多個編排框架供其選擇,這是Rancher用戶一直喜歡Rancher的緣由之一。服務器

然而,去年Kubernetes的增加遠遠高於其餘編排引擎。Rancher用戶但願在Kubernetes之上獲得更好的用戶體驗和更多的功能。所以,咱們決定從新設計Rancher 2.0,將過去大受用戶歡迎的Rancher用戶體驗(即Cattle)架構於Kubernetes之上,從而充分利用Kubernetes的強大力量。架構

在Rancher 2.0中:框架

  • Cattle用戶依然能夠享受和之前同樣的易於使用的用戶體驗,還能夠額外地利用Kubernetes編排引擎的優點,包括其豐富的基礎設施插件、加強的RBAC功能和原生生態系統服務。
  • Kubernetes用戶能夠享受獨有的Rancher用戶體驗和Rancher應用服務目錄。

咱們的Kubernetes之旅

2015年,當咱們剛開始在Rancher中歸入對Kubernetes的支持時,那時的Kubernetes用戶面臨的最大挑戰就是如何安裝和配置Kubernetes集羣。那時候,Kubernetes本身的腳本和工具很難使用,並且不可靠。但在Rancher中,Kubernetes集羣的設置只需一鍵便可完成。更重要的是,Rancher容許您在任何基礎架構上設置Kubernetes集羣,包括公有云、vSphere集羣和裸機服務器。所以,Rancher很快成爲啓動Kubernetes集羣的最受歡迎的方式之一。工具

在2016年初,市場上已經有許多現成的和第三方的Kubernetes安裝程序。咱們的問題再也不是如何安裝和配置Kubernetes,而是如何持續地運行和升級Kubernetes集羣。咱們在Rancher中構建了不少功能,用戶能夠很容易地操做和升級Kubernetes集羣及其etcd數據庫。優化

到2016年末,咱們開始注意到,Kubernetes運營軟件的價值正在迅速降低,這一趨勢的出現有兩個因素。首先,諸如Kubernetes Operations(kops)等開源工具已經成熟,許多機構與企業可以輕鬆地在AWS上運行Kubernetes。第二,Kubernetes-as-a-Service(Kubernetes即服務)開始受歡迎。例如,Google Cloud客戶再也不須要配置和操做本身的集羣。他們能夠依靠Google——Kubernetes技術的發明者,爲他們運行Kubernetes。spa

KUBERNETES EVERYWHERE

2016年初,Google Kubernetes項目的創始人、後來創立了Kubernetes公司Heptio的Joe Beda,曾跟我談及他的「Kubernetes Everywhere」的願景,他但願Kubernetes能夠和無處不在的IaaS相抗衡。插件

2017年,Kubernetes的流行度在持續上升,且這一勢頭從未放緩。咱們有理由相信在不遠的將來,全部基礎設施供應商都將提供Kubernetes-as-a-Service。那一天到來的時候,Kubernetes將成爲通用的基礎設施標準。DevOps團隊將再也不須要本身操做Kubernetes集羣。而惟一剩下的挑戰將是如何簡單而統一地管理和利用各基礎設施上的Kubernetes集羣。設計

基於Kubernetes的Rancher2.0平臺

Rancher2.0是一個基於Kubernetes的成熟的容器管理平臺。下圖展現了Rancher擁有的功能。

圖片描述

與Rancher1.0不一樣,Rancher server2.0包含了一個嵌入式的Kubernetes主機。這意味着一旦你開始使用Rancher,比

如執行命令

docker run -d -p 8080:8080 rancher/server

立刻就有一個Kubernetes集羣供你啓動和執行,無需再爲建立Kubernetes作更多的操做。在這以後,每個添加的主機都會自動安裝Kubelet,併成爲Kubernetes集羣的一部分。

你可使用相同的嵌入式Kubernetes主機來建立額外的集羣。咱們已經創建了一個定製的多租戶Kubernetes API服務器,它可以最大限度地減小多個Kubernetes集羣所需的資源。

咱們認爲Kubernetes-as-a-service在將來會成爲常態,會愈來愈少使用嵌入式Kubernetes主機。Rancher2.0可以支持導入和管理由雲服務商(例如Google容器引擎GKE))控制的Kubernetes集羣,固然還有使用其餘工具(如kops)創建的Kubernetes集羣。

對多個集羣的單點控制和可視化

IT管理員可使用嵌入式的Kubernetes主機建立幾個Kubernetes集羣,或者導入幾個現有的Kubernetes集羣,而後使用Rancher做爲對多個集羣的單點控制和管理平臺。

咱們舉一個例子來講明IT管理員是如何在Rancher中使用centralized RBAC和認證功能的。想象一下,若是企業直接使用Google Container Engine(GKE)做爲部署容器應用的標準平臺,而GKE卻要求每一個用戶都須要有Google帳戶,這顯然不是大多企業的標準作法。經過Rancher,IT管理員可使用單一的服務帳戶將GKE集羣導入Rancher,而後就可以用企業現有的ActiveDirectory憑證對其餘用戶進行身份驗證。

全新的UI

不少用戶告訴咱們,他們很是喜歡Rancher的UI。在2.0版本咱們作得更加美觀了!咱們本身也很喜歡它的設計,而且也但願把它作得更棒。在默認設置下,2.0的UI提供一個簡單的容器視圖,對容器只有初步瞭解的人均可以很輕鬆地開始使用Kubernetes。高級用戶他們仍然能夠訪問Kubectl和Kubernetes dashboard。其次,Rancher應用服務目錄Catalog的使用體驗進一步優化,經過簡單的鼠標點擊不只能夠部署應用程序,還能夠在部署後輕鬆地訪問和管理應用。Rancher2.0的UI擴展了更多的容器、服務和主機,而且保持了高度響應,若是你喜歡Rancher 1.X的UI,那麼你必定會更喜歡2.0。

將來,還有更多......

咱們如今發佈的是一個早期的技術預覽,咱們如今仍有不少未完成的工做,目前還在忙於修復bug並添加諸如HA部署、RBAC和身份認證、集成CI/CD、監控和日誌等等這些特性。咱們將會持續發佈新的版本,敬請關注,也請一如既往地給咱們更多反饋與意見,讓咱們能夠作得更好!

相關文章
相關標籤/搜索