1. 程式人生 > >如何從Rancher 1.6遷移到Rancher 2.0?這份清單可以幫你!

如何從Rancher 1.6遷移到Rancher 2.0?這份清單可以幫你!

Rancher 1.6是一個深受廣大使用者喜愛的容器編排平臺,幫助企業使用者在生產環境中執行和管理Docker和Kubernetes。Rancher 1.6支援多種容器編排框架,包括Kubernetes、Mesos、Docker Swarm,預設的基礎編排引擎是Cattle,Cattle極簡的操作體驗受到了大量開源社群使用者和企業使用者的青睞。

過去一年,Kubernetes流行度快速上升,成為業界公認的容器編排框架標準。Rancher極具前瞻性地早在2017年9月便宣佈全面擁抱Kubernetes,Rancher 2.0釋出之後,基礎編排平臺從Cattle變成了Kubernetes。Rancher 2.0旨在將基礎架構及雲端計算領域Kubernetes Everywhere的願景變成現實。

然而,也正因為Rancher 2.0使用的編排技術完成轉向成為Kubernetes,Rancher 2.0與Rancher 1.6有了很大區別。目前,在這兩個版本之間還沒有直接的升級路徑。

那麼,希望從Rancher 1.6遷移到Rancher 2.0的使用者們,應該如何操作呢?

在這篇文章裡,我將提供一則簡短的清單,你可以依據此進行遷移:

安 裝

有關Rancher 2.0安裝的說明,請參閱Rancher文件:

https://rancher.com/docs/rancher/v2.x/en/installation/

請注意,目前Rancher 2.0只支援以下Docker版本:

  • 1.12.6
  • 1.13.1
  • 17.03.2

這些Docker版本是根據Kubernetes上游版本中的外部依賴項下找到的,以上列出的所有版本都是經過驗證的。

Rancher目前使用的是Kubernetes 1.10版本並且計劃在2.0.7版本中使用1.11版本。Rancher會持續更新最新的Kubernetes上游版本。

至於單節點的開發安裝,你可以使用類似的docker run命令配置一個帶有Docker的Linux主機並在Docker容器中安裝Rancher,和安裝Rancher 1.6一樣。

對於開發環境,我們建議通過執行單個Docker容器來安裝Rancher。

與Rancher 1.6版本的一個區別是Rancher 2.0要求你使用SSL來提高安全性,所以你需要在安裝期間提供一個證書。如果你沒有提供證書,Rancher會自動為你生成一個自簽名證書。有關證書的選項,請參閱此處:

https://rancher.com/docs/rancher/v2.x/en/installation/single-node-install/#2-choose-an-ssl-option-and-install-rancher

與1.6相比,安裝高可用性Rancher2.0的設定有很大不同。具體步驟請參考:

https://rancher.com/blog/2018/2018-08-09-migrate-1dot6-setup-to-2dot0/

請注意,在HA模式下的1.6Rancher Server任何的現有自動化指令碼在Rancher 2.0的安裝中都需要重新設定。

配置身份驗證

如果你之前在Rancher 1.6中設定過身份驗證,那麼想必你對下圖中的這些Rancher支援的身份驗證方式都十分熟悉。

在Rancher 2.0中,上述所有的身份驗證方式都是依舊支援的,同時我們還添加了對幾個新的身份驗證提供商的支援,如下圖所示:

身份驗證的基礎配置要求設定和Rancher1.6上的是一樣的。你可以檢視文件瞭解配置不同身份驗證的細節。

(https://rancher.com/docs/rancher/v2.x/en/admin-settings/authentication/)

有一個區別值得注意,在Rancher 2.0的設定中,即使你配置任何其他的身份驗證機制,local auth始終開啟。

新增叢集和專案

當你執行Rancher安裝並且啟用身份驗證之後,接下來要做的事情是建立一個叢集和一個可以部署工作負載的專案。在Rancher 1.6的設定中,安裝之後,你應該建立一個可以新增計算節點的環境。在Rancher 2.0中,你需要建立一個叢集並且新增計算節點到叢集中。

如果你不瞭解叢集,或不知道如何建立叢集,請參閱官網:

https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/#what-s-a-kubernetes-cluster叢集設定好之後的檢視如下,在每個叢集中,都會有一個可用的【預設】專案。

1.6中Cattle的“環境”相當於2.0中“帶有專案的叢集”,原因如下:

  • 在1.6中,計算資源被分配給環境。
  • 在2.0中,你將它們分配給叢集。
  • 在1.6中,使用者被新增到環境中,在那裡他們可以部署服務並共享對屬於該環境的主機的訪問許可權。
  • 在2.0,使用者被新增到專案中,他們部署的工作負載可以訪問該專案中的資源。

這種叢集和專案模型允許多租戶,因為主機由叢集所擁有,並且叢集可以進一步劃分為多個專案,使用者們可以在其中管理他們的應用。

建立名稱空間

在新增叢集和專案之後,下一步是要定義用於為應用工作負載進行分組的名稱空間。在Rancher 1.6中,建立堆疊則可以將屬於你的應用程式的服務組合到一起。在2.0中,你需要以同樣的目的建立名稱空間。專案中將提供預設名稱空間,如果未明確提供工作負載,則該名稱空間將部署工作負載。與1.6類似,Rancher 2.0支援名稱空間內和跨名稱空間的服務發現。

遷移應用

當你的Kubernetes叢集和專案已經就位,下一步就是遷移工作負載。

如果你是一個Rancher 1.6的使用者並且使用Cattle環境,那麼在遷移你的工作負載過程中,你需要了解在Rancher 2.0中在排程、負載均衡、服務發現、服務監控等方面的改變。你可以關注即將推出的系列文章(https://rancher.com/blog/2018/2018-08-02-journey-from-cattle-to-k8s/),該系列文章介紹了如何使用Rancher 2.0 UI或從Docker Compose配置轉換為Kubernetes YAML進行遷移。它旨在探索有關工作負載部署的各個領域以及Rancher 2.0中提供的等效選項。

如果你已經在Rancher 1.6 Kubernetes環境中執行你的工作負載,那麼你可以用UI或者Rancher CLI直接將Kubernetes YAML檔案匯入Rancher 2.0叢集中。

希望這份遷移清單可以幫助你快速上手由Rancher 1.6遷移至Rancher 2.0的工作,和Rancher一起開啟Kubernetes之旅!