Devops實戰(四)Rancher的部署與安裝詳解


Rancher簡介

Rancher是一個開源的企業級容器管理平台。通過Rancher,企業再也不必自己使用一系列的開源軟件去從頭搭建容器服務平台。Rancher提供了在生產環境中使用的管理Docker和Kubernetes的全棧化容器部署與管理平台。

安裝Rancher2.4.5

Rancher的GitHub地址如下,可以找到相應的release:

https://github.com/rancher/rancher/releases
①找到如下的文件並下載上傳到服務器

dLMaOs.png

②在上傳目錄下執行以下命令打包成鏡像
// 賦予權限
chmod +x rancher-save-images.sh
    
// 開始拉取鏡像 由於是國外服務器 是比較慢
./rancher-save-images.sh --image-list ./rancher-images.txt

dLMUyj.png

③打包好后的目錄結構如下

dX6tgS.png

④上傳到內網服務器
// 給與權限
chmod +x rancher-load-images.sh
    
// 登錄docker倉庫
docker login REGISTRY.YOURDOMAIN.COM:PORT -u 用戶名 -p 密碼

//上傳到倉庫 執行這行命令的時候,等待的時間有點長,請耐心等待 
./rancher-load-images.sh --image-list ./rancher-images.txt --registry <REGISTRY.YOURDOMAIN.COM:PORT>

解決https錯誤:

// 這里我們建立的是http的鏈接,需要編輯放行IP
vim /etc/docker/daemon.json
    
// 加入如下內容 主要是 "insecure-registries":["192.168.1.103"]
{
    "insecure-registries":["192.168.1.103"]
}

systemctl daemon-reload
systemctl restart docker
⑤部署Rancher
docker run -d --restart=unless-stopped \
 
-p 80:80 -p 443:443 \
 
-e CATTLE_SYSTEM_DEFAULT_REGISTRY=<REGISTRY.YOURDOMAIN.COM:PORT> \ # 設置默認的系統鏡像倉庫
 
-e CATTLE_SYSTEM_CATALOG=bundled \ # 自v2.3.0可用,使用內嵌的 Rancher system charts
 
<REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher:<RANCHER_VERSION_TAG>

示例:

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -e CATTLE_SYSTEM_DEFAULT_REGISTRY=192.168.1.103 -e CATTLE_SYSTEM_CATALOG=bundled 192.168.1.103/rancher/rancher/rancher:v2.4.5-rc10
⑥啟動后訪問主機名即可見到首頁,設置下密碼進入

dji5Cj.png

6.1. 設置倉庫

點擊"Settings" -> "system-default-registry"設置默認的鏡像倉庫地址

dxzYeU.png

dxzRFH.png

6.2. 添加集群

選擇集群 - > 添加集群 -> 自定義

djiqbT.png

設置名稱,然后Kubernetes的版本選用的是1.16.13,注意這里可以選定鏡像倉庫的地址,如果有區分命名空間需要改為 IP:HOST/空間名.

dzCSXt.png

dzCdHK.png

其余使用默認配置即可,單擊下一步,勾選Etcd和Control,復制最底部的命令到虛擬機:

dzPNGQ.png

報錯解決:

// ①報rke-tools:v0.1.59找不到主要原因是推到私庫的rke-tools版本為v0.1.58而拉取的版本為v0.1.59,需要我們手動拉取Psuh上去
docker pull rancher/rke-tools:v0.1.59
docker tag rancher/rke-tools:v0.1.59 192.168.1.103/rancher/rancher/rke-tools:v0.1.59
docker push 192.168.1.103/rancher/rancher/rke-tools:v0.1.59

// ②報 No such image: 192.168.1.103/rancher/rancher/hyperkube:v1.18.6-rancher1
docker pull rancher/hyperkube:v1.17.9-rancher1
docker tag rancher/hyperkube:v1.17.9-rancher1 192.168.1.103/rancher/rancher/hyperkube:v1.17.9-rancher1
docker push 192.168.1.103/rancher/rancher/hyperkube:v1.17.9-rancher1
⑦配置Kubectl客戶端(如果是2.4.5版本可以不配置這步)

下載相關的tar包

wget https://storage.googleapis.com/kubernetes-release/release/v1.16.13/kubernetes-client-linux-amd64.tar.gz

解壓並在根目錄創建".kube"目錄

// 解壓
tar -xvf kubernetes-client-linux-amd64.tar.gz

//創建.kube目錄
mkdir -p /root/.kube

// 創建config文件
touch /root/.kube/config 

編輯config,將rancher中的文件復制到里面即可

w9MOWd.png

rancher處於運行狀態后如下所示

w9m6Cn.png

⑧部署服務

我們進入到Rancher的集群eos-test主機中,選擇Default,點擊部署服務

w9lV4e.png

部署我們預先存放好的tomcat的鏡像,如下

w9l5VK.png

需要設置最小的內存空間,"高級設置" -> "安全/主機設置"如下

w91P2j.png

w91MRJ.png

報錯:

ReplicaSet "nginx-5bddc7d447" has timed out progressing.; Deployment does not have minimum availability.

出現這種問題是因為只部署了單台主機,無法構成集群,解決辦法:

至少兩台主機,一台master,一台worker
建議服務器配置 2核4G


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM