日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

goharbor harbor-helm 搭建 记录

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 goharbor harbor-helm 搭建 记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先本地安裝?

本地docker已經有了

安裝?yum install docker-compose

?

下載離線安裝包?https://github.com/goharbor/harbor/releases

?

這種方式不支持helm?chart,?重新使用k8s安裝?helm chart

https://github.com/goharbor/harbor-helm

?

添加源

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

開始安裝,?這里面的持久化卷,?昨天選擇使用nfs,沒有用起來 ,?原來是pv跟pvc是一一對應關系,?只使用靜態方式創建了一個pv,?被mysql pvc?使用了,導致后面的都無法申請到pv,?所以采用動態方式去創建pv

參考外部存儲?https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client/deploy

?

外部存儲部署參考:

storageClass?應該使用?managed-nfs-storage

先卸載干凈原來的

helm del --purge harbor清除pvckubectl delete pvc harbor-harbor-chartmuseum kubectl delete pvc harbor-harbor-jobservice kubectl delete pvc harbor-harbor-registry kubectl delete pvc data-harbor-harbor-redis-0 kubectl delete pvc database-data-harbor-harbor-database-0

這個反斜杠的使用也有講究,?下面的寫法就執行不了,報錯??Error: This command needs 1 argument: chart name

helm install --name harbor --set \ expose.type=nodePort,expose.tls.enabled=false,expose.tls.commonName=harbor,\ persistence.persistentVolumeClaim.registry.storageClass=nfs-client, \ persistence.persistentVolumeClaim.registry.size=2Gi, \ persistence.persistentVolumeClaim.chartmuseum.storageClass=nfs-client, \ persistence.persistentVolumeClaim.chartmuseum.size=1Gi, \ persistence.persistentVolumeClaim.jobservice.storageClass=nfs-client,\ persistence.persistentVolumeClaim.database.storageClass=nfs-client, \ persistence.persistentVolumeClaim.redis.storageClass=nfs-client \ harbor/harbor

改成這種方式就可以執行了

helm install --name harbor \--set expose.type=nodePort,expose.tls.enabled=false,expose.tls.commonName=harbor,persistence.persistentVolumeClaim.registry.storageClass=nfs-client,persistence.persistentVolumeClaim.registry.size=2Gi,persistence.persistentVolumeClaim.chartmuseum.storageClass=nfs-client,persistence.persistentVolumeClaim.chartmuseum.size=1Gi,persistence.persistentVolumeClaim.jobservice.storageClass=nfs-client,persistence.persistentVolumeClaim.database.storageClass=nfs-client,persistence.persistentVolumeClaim.redis.storageClass=nfs-client \harbor/harbor

執行結果如下

[root@node0 ~]# helm install --name harbor \ > --set expose.type=nodePort,expose.tls.enabled=false,expose.tls.commonName=harbor,persistence.persistentVolumeClaim.registry.storageClass=nfs-client,persistence.persistentVolumeClaim.registry.size=2Gi,persistence.persistentVolumeClaim.chartmuseum.storageClass=nfs-client,persistence.persistentVolumeClaim.chartmuseum.size=1Gi,persistence.persistentVolumeClaim.jobservice.storageClass=nfs-client,persistence.persistentVolumeClaim.database.storageClass=nfs-client,persistence.persistentVolumeClaim.redis.storageClass=nfs-client \ > harbor/harbor NAME: harbor LAST DEPLOYED: Tue Jun 25 11:33:46 2019 NAMESPACE: default STATUS: DEPLOYEDRESOURCES: ==> v1/ConfigMap NAME DATA AGE harbor-harbor-chartmuseum 23 1s harbor-harbor-clair 1 1s harbor-harbor-core 34 1s harbor-harbor-jobservice 1 1s harbor-harbor-nginx 1 1s harbor-harbor-notary-server 5 1s harbor-harbor-registry 2 1s==> v1/Deployment NAME READY UP-TO-DATE AVAILABLE AGE harbor-harbor-chartmuseum 0/1 1 0 1s harbor-harbor-clair 0/1 1 0 1s harbor-harbor-core 0/1 1 0 1s harbor-harbor-jobservice 0/1 0 0 1s harbor-harbor-notary-server 0/1 0 0 1s harbor-harbor-notary-signer 0/1 0 0 1s harbor-harbor-portal 0/1 0 0 1s harbor-harbor-registry 0/1 0 0 1s==> v1/PersistentVolumeClaim NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE harbor-harbor-chartmuseum Pending nfs-client 1s harbor-harbor-jobservice Bound pvc-0ab3ab52-96fa-11e9-837b-000c2915f050 1Gi RWO nfs-client 1s harbor-harbor-registry Bound pvc-0ab41cac-96fa-11e9-837b-000c2915f050 2Gi RWO nfs-client 1s==> v1/Pod(related) NAME READY STATUS RESTARTS AGE harbor-harbor-chartmuseum-7ff65b9699-f8s5x 0/1 Pending 0 1s harbor-harbor-clair-54c47dfdfc-nxxkf 0/1 ContainerCreating 0 1s harbor-harbor-core-5884f5fc7d-bj88g 0/1 ContainerCreating 0 1s harbor-harbor-database-0 0/1 Pending 0 0s harbor-harbor-jobservice-788bc864b6-9zmsz 0/1 Pending 0 1s harbor-harbor-nginx-dbdb9d7ff-tcfks 0/1 Pending 0 1s harbor-harbor-notary-server-6d85446444-mvtxj 0/1 Pending 0 1s harbor-harbor-notary-signer-7794d76ff-mm7cm 0/1 Pending 0 1s harbor-harbor-redis-0 0/1 Pending 0 0s==> v1/Secret NAME TYPE DATA AGE harbor-harbor-chartmuseum Opaque 1 1s harbor-harbor-core Opaque 7 1s harbor-harbor-database Opaque 1 1s harbor-harbor-jobservice Opaque 1 1s harbor-harbor-registry Opaque 2 1s==> v1/Service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE harbor NodePort 10.1.42.97 <none> 80:30002/TCP,4443:30004/TCP 1s harbor-harbor-chartmuseum ClusterIP 10.1.29.63 <none> 80/TCP 1s harbor-harbor-clair ClusterIP 10.1.213.52 <none> 6060/TCP,6061/TCP 1s harbor-harbor-core ClusterIP 10.1.42.246 <none> 80/TCP 1s harbor-harbor-database ClusterIP 10.1.237.0 <none> 5432/TCP 1s harbor-harbor-jobservice ClusterIP 10.1.77.55 <none> 80/TCP 1s harbor-harbor-notary-server ClusterIP 10.1.254.26 <none> 4443/TCP 1s harbor-harbor-notary-signer ClusterIP 10.1.16.142 <none> 7899/TCP 1s harbor-harbor-portal ClusterIP 10.1.231.103 <none> 80/TCP 1s harbor-harbor-redis ClusterIP 10.1.117.105 <none> 6379/TCP 1s harbor-harbor-registry ClusterIP 10.1.40.234 <none> 5000/TCP,8080/TCP 1s==> v1/StatefulSet NAME READY AGE harbor-harbor-database 0/1 1s harbor-harbor-redis 0/1 0s==> v1beta1/Deployment NAME READY UP-TO-DATE AVAILABLE AGE harbor-harbor-nginx 0/1 0 0 1sNOTES: Please wait for several minutes for Harbor deployment to complete. Then you should be able to visit the Harbor portal at https://core.harbor.domain. For more details, please visit https://github.com/goharbor/harbor.

下面進k8s管理頁面看一下狀態

持久化卷聲明全部成功了

?

?

每個個持久化卷聲明都綁定了一個卷

?

?

目前harbor部署成功了,?怎么訪問它的服務呢??

回想一個暴露服務的四種方式

The way how to expose the service:?ingress,?clusterIP,?nodePortor?loadBalancer

我們使用的是expose.type=nodePort

這個時候去服務看端口映射?

?

?

http訪問端口應該是 30002

http://192.168.220.128:30002/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects

默認賬號?admin ,密碼?Harbor12345

這個端口我們在官方文檔[https://github.com/goharbor/harbor-helm]的默認值里也能找到

?

?

成功登入并出現Helm Charts?標簽?

?

?

?

?

?

下面記錄一下使用過程

既然有這么好的工具來存儲管理charts,?那么如何上傳及使用?

第一步得找repo的地址找出來 ,?網上看到的都是非常簡單,?直接把地址寫出來,可是我寫的卻用不了

左下角有API控制中心,可以看到api的網址??http://192.168.220.128:30002/devcenter

這個接口不錯,可以用來調用

如何找到網址,與其在網上搜索不如去官網看看,?下面查看官網

git hub上面沒有找到有價值的信息

?

在網上找到類似的寫法

?

helm repo add myrepo http://192.168.220.128:30002/chartrepo/helm

chartrepo?是固定的,?helm是我定義的項目名,?可以成功加進去

可以搜索到上傳到?harbor helm項目下的mysql

?

?

下面開始演練push,?需要提交安裝?helm push

嘗試命令?helm plugin install https://github.com/chartmuseum/helm-push

安裝完成后嘗試?push,?不加用戶密碼無法push的

cd /home/nfs/html helm push --username=admin --password=Harbor12345 nfs-client-provisioner-1.2.6.tgz myrepo

?

總結

以上是生活随笔為你收集整理的goharbor harbor-helm 搭建 记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。