使用Helm安装harbor
- 使用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