通過rancher快速部署Kubernetes集羣

概述

What’s Rancher?
Rancher是一套容器管理平臺,它可以幫助組織在生產環境中輕鬆快捷的部署和管理容器。 Rancher可以輕鬆地管理各種環境的Kubernetes,滿足IT需求併爲DevOps團隊提供支持。

Kubernetes不僅已經成爲的容器編排標準,它也正在迅速成爲各類雲和虛擬化廠商提供的標準基礎架構。Rancher用戶可以選擇使用Rancher Kubernetes Engine(RKE)創建K8S集羣,也可以使用GKE,AKS和EKS等雲Kubernetes服務。 Rancher用戶還可以導入和管理現有的Kubernetes集羣。

Rancher爲DevOps工程師提供了一個直觀的用戶界面來管理他們的服務容器,用戶不需要深入瞭解Kubernetes概念就可以開始使用Rancher。 Rancher包含應用商店,支持一鍵式部署Helm和Compose模板。Rancher通過各種雲、本地生態系統產品認證,其中包括安全工具,監控系統,容器倉庫以及存儲和網絡驅動程序。下圖說明了Rancher在IT和DevOps組織中扮演的角色。每個團隊都會在他們選擇的公共雲或私有云上部署應用程序。
在這裏插入圖片描述
早期的Rancher1.X版本是基於Docker以Cattle爲調度引擎的容器管理平臺。在Rancher1.X成功和經驗的基礎上,基於Kubernetes基礎上重新設計Rancher2.0版本。 Rancher2.0保留了1.6版的友好功能,如UI和應用商店。但是,2.0包含許多新功能,例如:

  • 內置CI/CD;
  • 告警和日誌收集;
  • 多集羣管理;
  • Rancher Kubernetes Engine (RKE);
  • 與雲Kubernetes服務(如GKE,EKS和AKS)集成;

架構設計

Kubernetes

Kubernetes已成爲容器集羣管理標準,通過YAML文件來管理配置應用程序容器和其他資源。Kubernetes執行諸如調度,擴展,服務發現,健康檢查,密文管理和配置管理等功能。

一個Kubernetes集羣由多個節點組成:

  • etcd database

通常在一個節點上運行一個etcd實例服務,但生產環境上,建議通過3個或5個(奇數)以上的節點來創建ETCD HA配置。

  • Master nodes

主節點是無狀態的,用於運行API Server,調度服務和控制器服務。

  • Worker nodes

工作負載在工作節點上運行。
默認情況下Master節點也會有工作負載調度上去, 可通過命令設置其不加入調度

Rancher

大多數Rancher2.0軟件運行在Rancher Server節點上,Rancher Server包括用於管理整個Rancher部署的所有組件。

下圖說明了Rancher2.0的運行架構。該圖描繪了管理兩個Kubernetes集羣的Rancher Server安裝:一個由RKE創建,另一個由GKE創建。
在這裏插入圖片描述

準備工作

基礎環境安裝docker配置,請參考rancher部署Kubernetes集羣之基礎環境docker-ce部署

安裝Rancher

sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable

登錄Rancher

登錄並開始使用Rancher。登錄後,您將進行一些一次性配置。

  1. 打開瀏覽器,輸入https://<server_ip>,server_ip替換爲運行Rancher容器主機的ip;
  2. 因爲是自動使用的自簽名證書,在第一次登錄會提示安全授信問題,信任即可;
  3. 設置管理員密碼
    第一次登錄會要求設置管理員密碼,默認管理員賬號密碼爲: admin/admin
    在這裏插入圖片描述
    4.設置Rancher Server URL
    Rancher Server URL是agent節點註冊到Rancher Serverd的地址,需要保證這個地址能夠被agent主機訪問,不要設置爲127.0.0.1或者localhost

創建K8S集羣

現在創建第一個Kubernetes集羣,可以使用自定義選項。您可以添加雲主機、內部虛擬機或物理主機作爲集羣節點,節點可以運行任何一種或多種主流Linux發行版:

  1. 頁面右下角可以切換語言;

在這裏插入圖片描述

  1. 在全局視圖下,點擊菜單中的集羣 , 並點擊添加集羣
    在這裏插入圖片描述

  2. 選擇 Custom,並設置集羣名稱,其他參數可不用修改,點擊下一步;
    在這裏插入圖片描述

  3. 選擇節點運行的角色
    默認會勾選Worker角色,根據需要可以一次勾選多種角色。比如,假設我只有一個節點,那就需要把所有角色都選擇上,選擇後上面的命令行會自動添加相應的命令參數;

在這裏插入圖片描述
如果是雲主機,需要添加主機的內網地址和對應的公網地址,如果是沒有公網的雲主機,可以跳過這步;

  1. 其他參數保持默認,點擊命令行右側的複製按鈕,複製命令參數
    在這裏插入圖片描述

  2. 如果是多臺主機,根據不同主機規劃,選擇不同角色,複製命令,需要執行多次
    在這裏插入圖片描述
    在主機上執行完命令後,最後點擊完成;

  3. 回到全局視圖,可以查看集羣的部署狀態;
    若集羣顯示Provisioning,等正在部署的任務完成就OK了
    在這裏插入圖片描述

  4. 點擊集羣名稱,進入集羣視圖
    在這裏插入圖片描述

  5. 點擊菜單欄主機按鈕
    在這裏插入圖片描述

  6. 集羣創建完成
    在這裏插入圖片描述

  7. 集羣創建完成後,默認會生成Default項目,點擊Default切換到項目視圖;
    在這裏插入圖片描述

部署工作負載

工作負載是一個對象,包括pod以及部署應用程序所需的其他文件和信息。我們以nginx作爲例如:

  1. 在Default視圖下,點擊工作負載—部署服務
    在這裏插入圖片描述

  2. 在部署工作負載頁面,設置工作負載名稱、副本數量、鏡像名稱、命名空間、端口映射,其他參數保持默認,最後點擊啓動;
    在這裏插入圖片描述

  3. 部署完成
    在這裏插入圖片描述

  4. 通過32556端口去訪問nginx服務。
    因爲剛纔創建的時候,主機地址選的隨機,所以會隨機分配一個端口映射到該pod

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章