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 搭建 记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: table合并单元格_制作课程表3——合
- 下一篇: 基本系统设备感叹号_win7系统网络图标