rancher2.5離線安裝與harbor私倉配置


一、rancher簡介

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

二、rancher離線安裝

本文基於rancher2.5.1版本進行安裝部署。

如果有網絡環境,直接運行下面的命令就可自動安裝成功。

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

大多時候,我們內網的環境可能是沒有網絡環境,這個時候就需要離線安裝,rancher提供離線安裝方式,首先在外網下載好需要用的腳本與docker鏡像:
下載地址:https://github.com/rancher/rancher/releases 推薦下載Stable版本,bug相對較少,不要下載標記為 rc 或 Pre-release 的版本,因為它們在生產環境下是不穩定的。下載好rancher-save-images.shrancher-load-images.shrancher-images.txt、三個腳本,腳本執行 ./rancher-save-images.sh --image-list ./rancher-images.txt。這個腳本會自動下載rancher需要用的docker鏡像。下載完成后將生成的ancher-images.tar.gz與上面的三個腳本一同復制到內網放在同一目錄下。

注:里面存在同一鏡像多個版本,可保留一個版本即可

去除重復的鏡像源:

sort -u rancher-images.txt -o rancher-images.txt
Release 文件描述
rancher-images.txt 此文件包含安裝 Rancher、創建集群和運行Rancher 工具所需的鏡像列表。
rancher-save-images.sh 這個腳本會從 DockerHub 中拉取在文件rancher-images.txt中描述的所有鏡像,並將它們保存為文件rancher-images.tar.gz。
rancher-load-images.sh 這個腳本會載入文件rancher-images.tar.gz中的鏡像,並將它們推送到您自己的私有鏡像庫。

將打包好的鏡像導入到docker中,執行:
docker load -i rancher.tar。 稍等片刻便會導入成功。

rancher-load-images.sh用於將打包好的鏡像導入到docker。導入成功后啟動rancher,執行:

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

稍等片刻訪問 https://ipaddress就能進入rancher

三、使用Harbor配置Docker鏡像倉庫

Harbor是企業級鏡像倉庫,官方地址:https://github.com/goharbor/harbor/releases
下載離線安裝包:harbor-offline-installer-v2.0.5.tgz 並復制到內網。harbor需要用到證書,先生成自己的證書,證書的CN需要與域名或者ip完全一致:

$ mkdir -p certs

$ openssl req \
  -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \
  -x509 -days 365 -out certs/domain.crt

編輯配置文件harbor.yml, 修改 hostname 域名、https 證書等配置信息,其它的可按需修改:

# Configuration file of Harbor
# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 10.10.10.10 # hostname不能是localhost或127.0.0.1
# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80
# https related config
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /certs/domain.crt # 證書路徑
  private_key: /certs/domain.key  #私鑰路徑

接着執行如下命令進行安裝:

$ ./install.sh --with-clair

--with-clair 指定安裝 Clair 服務,一個用戶鏡像漏洞靜態分析的工具。如果不需要,可以省略該選項。

安裝成功后, 可通過https://ipadress來訪問web UI .默認的賬號密碼是admin/Harbor12345

四、推送鏡像到私倉

推送之前需要先登錄,使用docker login命令,如下。

$ docker login 10.10.10.10
Username: admin
Password: Harbor12345

Login Succeeded

因為我們用的自簽證書,docker可能會提示證書不受信,需要配置docker信任我們的自簽證書

1、復制證書到:etc/docker/certs.d/10.10.10.10/ca.crt , 其中文件夾
10.10.10.10需要根據實際ip地址或者域名填寫。

如果是windows服務器上需要安裝到受信任的根證書目錄

其它服務器可參考docker官網文檔:https://docs.docker.com/registry/insecure/

如果提示:

docker: Error response from daemon: Get https://x.x.x.x/v2/: x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs

簡單的方案是加入--insecure-registry參數:

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 一行后面添加 --insecure-registry==你的ip或者域名

然后重啟docker

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

使用rancher-load-images.sh將下載好的鏡像導入到私倉

./rancher-load-images.sh --image-list ./rancher-images.txt --registry <REGISTRY.YOURDOMAIN.COM:PORT>`

<REGISTRY.YOURDOMAIN.COM:PORT>是harbor的地址,443可以不用填寫

五、rancher集群配置

rancher 默認創建了local集群,里面有兩個項目,一個system,一個default。關於命令空間與項目,可訪問https://docs.rancher.cn/docs/rancher2/cluster-admin/projects-and-namespaces/_index/ 官網查看詳細解釋。官方不推薦去操作local集群里面的服務。所以我們新建一個集群。

新建一個集群,指定私倉為我們剛搭建的ip。
rancher-home


免責聲明!

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



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