第十二章 九析帶你輕鬆完爆 helm3 harbor

本系列文章:
nginx

第一章:helm 一分鐘輕鬆完爆git

第二章:helm 輕鬆完爆公共倉庫api

第三章:helm 輕鬆完爆私有倉庫瀏覽器

第四章:helm 輕鬆完爆 chartapp

第五章:helm 輕鬆完爆 releaseide

第六章:九析帶你輕鬆完爆 helm gitlabgitlab

第七章:九析帶你輕鬆完爆 helm nginx-ingressspa

第八章:九析帶你輕鬆完爆 helm gitlab nfsorm

第九章:九析帶你輕鬆完爆 helm nexusserver

第十章:九析帶你輕鬆完爆 helm3 heapster

第十一章:九析帶你輕鬆完爆 helm3 kubernetes-dashboard

目錄

1 前言

2 添加 harbor 倉庫

3 下載 harbor

4 解壓 harbor

5 編輯 values.yaml

6 編寫 pv

7 建立 nginx-ingress

8 建立 nfs

9 建立 harbor 命名空間

10 安裝 harbor

11 建立 pv

12 檢查 pvc

13 查看 nginx-ingress 服務端口

14 編輯 dns

15 訪問 harbor

16 注意


1 前言

        本文采用 helm v3.0.0;k8s v1.16.3。


2 添加 harbor 倉庫

helm repo add harbor https://helm.goharbor.io


3 下載 harbor

helm pull harbor/harbor


4 解壓 harbor

tar -zxvf harbor-1.2.3.tgz


5 編輯 values.yaml

        編輯以下:

expose:

  tls:

    commonName: "jiuxi.harbor.org"

  ingress:

    hosts:

      core: jiuxi.harbor.org


externalURL: https://jiuxi.harbor.org


harborAdminPassword: "hellojiuxi"


6 編寫 pv

        本文不介紹 pv 和 pvc,相信你敢玩 helm,應該不算新手。若是你真不知道 pv 和 pvc 也沒有關係;能夠把它們理解爲情侶關係,即 pvc 必定要 c 了 pv 才願意幹活,固然不能白 c,要給「錢」, pv 收到錢會存到某個地方,好比鞋盒。理解了沒?不用謝。

        查看 values.yaml 文件,發現 pvc 一共有 5 個。而且有 2 種規格:A杯(1Gi)、 C杯(5Gi)

clipboard1.png

        新建資源文件  pv-harbor-1g.yaml。不要執行。切記。

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-1g-1

spec:

    capacity:

        storage: 1Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor

---

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-1g-2

spec:

    capacity:

        storage: 1Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor

---

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-1g-3

spec:

    capacity:

        storage: 1Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor

        新建資源文件  pv-harbor-5g.yaml。不要執行。切記。

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-5g-1

spec:

    capacity:

        storage: 5Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor

---

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-5g-2

spec:

    capacity:

        storage: 5Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor


7 建立 nginx-ingress

        建立 nginx-ingress 請參考《第七章》。不用緊張,分分鐘輕鬆完爆。


8 建立 nfs

        建立 nfs 請參考《第八章》。不用緊張,容易到讓你尖叫。


9 建立 harbor 命名空間

kubectl create ns harbor


10 安裝 harbor

## 第一個 harbor 是 release;第二個是命名空間;第三個是解壓後根目錄

helm install harbor -n harbor harbor


11 建立 pv

        harbor 安裝成功以後,pvc 會處於 pending 狀態。由於並無建立實際的 pv。

clipboard2.png

        注意建立順序,規格要按照從小到大。爲何?你想想,死勁想想。

        建立小規格 pv:

kubectl apply -f pv-harbor-1g.yaml

        小規格 pv 建立結束後,注意查看一下建立狀態,等到狀態都爲 Bound 後,再建立大規格 pv:

kubectl apply -f pv-harbor-5g.yaml


12 檢查 pvc

kubectl get pvc -n harbor

clipboard3.png


13 查看 nginx-ingress 服務端口

        注意端口不是 443。切記。本人是 32734。各人根據本身實際狀況。

kubectl get svc -n kube-system

clipboard4.png


14 編輯 dns

        建立 ingress 時使用了域名 jiuxi.harbor.org。因此在瀏覽器所在主機上編輯 hosts 文件。

clipboard5.png


15 訪問 harbor

        打開瀏覽器,輸入 https://jiuxi.harbor.org:32734。

clipboard6.png

        用戶名 / 密碼: admin / hellojiuxi。


16 注意

        有時會有正確輸入用戶名和密碼卻沒法登陸的狀況,緣由在於 pod 並無所有運行成功,必須確保全部 pod 都運行成功了再強勢登陸。

相關文章
相關標籤/搜索