- 使用nfs共享存儲搭建的pvc(此次都放在一個vpc下);
- harbor使用nodePort方式部署,不使用ssl;
-
准備工作:
-
准備好
harbor
用的pvc
; -
安裝好
helm
,添加好可用源; -
因為使用的
nfs
創建的pvc
,要給足權限,要不數據庫的pod
創建時會報錯;chmod -R 777 /data/nfs-harbor/
-
創建好
harbor
的namespace
,以后的所有資源都創建在這個命名空間里(包括harbor
用的pvc
);kubectl create namespace harbor
-
-
下載
harbor
包:#添加harbor的helm倉庫 helm repo add harbor https://helm.goharbor.io #下載最新的harbor包 helm pull harbor/harbor
-
解壓
tgz
包,修改values.yaml
文件#values.yaml文件很長,只需要修改一部分 expose: type: nodePort #修改為nodePort tls: enabled: false #不使用ssl,修改為false ...... externalURL: http://10.1.129.121:30002 #修改為其中一個node節點的IP+端口,以后harbor使用這個URL訪問 ...... persistence: enabled: true resourcePolicy: "keep" persistentVolumeClaim: registry: existingClaim: "nfs-pvc-harbor" #修改為之前創建好的pvc storageClass: "" subPath: "registry" #修改為對應名字,以后的數據存在此目錄中 accessMode: ReadWriteOnce size: 5Gi chartmuseum: existingClaim: "nfs-pvc-harbor" #修改為之前創建好的pvc storageClass: "" subPath: "chartmuseum" #修改為對應名字,以后的數據存在此目錄中 accessMode: ReadWriteOnce size: 5Gi jobservice: existingClaim: "nfs-pvc-harbor" #修改為之前創建好的pvc storageClass: "" subPath: "jobservice" #修改為對應名字,以后的數據存在此目錄中 accessMode: ReadWriteOnce size: 1Gi database: existingClaim: "nfs-pvc-harbor" #修改為之前創建好的pvc storageClass: "" subPath: "database" #修改為對應名字,以后的數據存在此目錄中 accessMode: ReadWriteOnce size: 1Gi redis: existingClaim: "nfs-pvc-harbor" #修改為之前創建好的pvc storageClass: "" subPath: "redis" #修改為對應名字,以后的數據存在此目錄中 accessMode: ReadWriteOnce size: 1Gi trivy: existingClaim: "nfs-pvc-harbor" #修改為之前創建好的pvc storageClass: "" subPath: "trivy" #修改為對應名字,以后的數據存在此目錄中 accessMode: ReadWriteOnce size: 5Gi ......
-
安裝
harbor
:helm install harbor harbor/harbor -f values.yaml -n harbor #等一會查看pod創建是否成功,默認密碼為admin/Harbor12345 kubectl get pod -n harbor #使用之前配的URL即可登錄harbor頁面
-
配置
harbor
鏡像倉庫: /#修改docker添加http為信任倉庫 vim /etc/docker/daemon.json "insecure-registries": ["10.1.129.121:30002"] #重啟docker systemctl restart docker #配置用戶名密碼 docker login 10.1.129.121:30002 #測試推送 docker push 10.1.129.121:30002/k8s.gcr.io/kube-apiserver:v1.23.1