Rancher簡介
Rancher是一個開源的企業級容器管理平台。通過Rancher,企業再也不必自己使用一系列的開源軟件去從頭搭建容器服務平台。Rancher提供了在生產環境中使用的管理Docker和Kubernetes的全棧化容器部署與管理平台。
安裝Rancher2.4.5
Rancher的GitHub地址如下,可以找到相應的release:
https://github.com/rancher/rancher/releases
①找到如下的文件並下載上傳到服務器
②在上傳目錄下執行以下命令打包成鏡像
// 賦予權限
chmod +x rancher-save-images.sh
// 開始拉取鏡像 由於是國外服務器 是比較慢
./rancher-save-images.sh --image-list ./rancher-images.txt
③打包好后的目錄結構如下
④上傳到內網服務器
// 給與權限
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
⑥啟動后訪問主機名即可見到首頁,設置下密碼進入
6.1. 設置倉庫
點擊"Settings" -> "system-default-registry"設置默認的鏡像倉庫地址
6.2. 添加集群
選擇集群 - > 添加集群 -> 自定義
設置名稱,然后Kubernetes的版本選用的是1.16.13,注意這里可以選定鏡像倉庫的地址,如果有區分命名空間需要改為 IP:HOST/空間名.
其余使用默認配置即可,單擊下一步,勾選Etcd和Control,復制最底部的命令到虛擬機:
報錯解決:
// ①報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中的文件復制到里面即可
rancher處於運行狀態后如下所示
⑧部署服務
我們進入到Rancher的集群eos-test主機中,選擇Default,點擊部署服務
部署我們預先存放好的tomcat的鏡像,如下
需要設置最小的內存空間,"高級設置" -> "安全/主機設置"如下
報錯:
ReplicaSet "nginx-5bddc7d447" has timed out progressing.; Deployment does not have minimum availability.
出現這種問題是因為只部署了單台主機,無法構成集群,解決辦法:
至少兩台主機,一台master,一台worker
建議服務器配置 2核4G