本系列文章:
nginx第一章:helm 一分鐘輕鬆完爆git
第二章:helm 輕鬆完爆公共倉庫api
第三章:helm 輕鬆完爆私有倉庫瀏覽器
第四章:helm 輕鬆完爆 chartapp
第五章:helm 輕鬆完爆 releaseide
第六章:九析帶你輕鬆完爆 helm gitlabgitlab
第七章:九析帶你輕鬆完爆 helm nginx-ingressspa
第八章:九析帶你輕鬆完爆 helm gitlab nfsorm
第九章:九析帶你輕鬆完爆 helm nexusserver
目錄
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)
新建資源文件 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。
注意建立順序,規格要按照從小到大。爲何?你想想,死勁想想。
建立小規格 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
13 查看 nginx-ingress 服務端口
注意端口不是 443。切記。本人是 32734。各人根據本身實際狀況。
kubectl get svc -n kube-system
14 編輯 dns
建立 ingress 時使用了域名 jiuxi.harbor.org。因此在瀏覽器所在主機上編輯 hosts 文件。
15 訪問 harbor
打開瀏覽器,輸入 https://jiuxi.harbor.org:32734。
用戶名 / 密碼: admin / hellojiuxi。
16 注意
有時會有正確輸入用戶名和密碼卻沒法登陸的狀況,緣由在於 pod 並無所有運行成功,必須確保全部 pod 都運行成功了再強勢登陸。