k8s部署harbor 仓库
时间: 2023-08-19 21:09:46 浏览: 143
您好!要在Kubernetes上部署Harbor仓库,您可以按照以下步骤进行操作:
1. 在Kubernetes集群中创建一个命名空间(Namespace),用于部署Harbor。可以使用以下命令创建命名空间:
```
kubectl create namespace harbor
```
2. 接下来,您需要在Kubernetes中部署一个持久化存储卷(Persistent Volume)和一个持久化存储卷声明(Persistent Volume Claim),用于存储Harbor的数据。您可以根据您的需求选择不同的存储解决方案,如NFS、GlusterFS或Ceph等。以下是一个示例使用NFS的配置文件:
```yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: harbor-pv
labels:
type: nfs
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
nfs:
server: <NFS server IP>
path: <NFS server path>
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: harbor-pvc
namespace: harbor
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
selector:
matchLabels:
type: nfs
```
将上述配置文件保存为`harbor-pv.yaml`,然后使用以下命令创建Persistent Volume和Persistent Volume Claim:
```
kubectl apply -f harbor-pv.yaml
```
3. 现在,您可以部署Harbor。您可以使用Helm来简化部署过程。首先,添加Harbor的Helm仓库:
```
helm repo add harbor https://helm.goharbor.io
```
4. 创建一个名为`harbor-values.yaml`的配置文件,并根据您的需求进行配置。以下是一个示例配置文件:
```yaml
expose:
type: ingress
tls:
enabled: false
ingress:
hosts:
- harbor.example.com
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-body-size: "0"
persistence:
enabled: true
existingClaim: harbor/harbor-pvc
```
在该配置文件中,您可以配置Harbor的访问方式(如Ingress或NodePort)、域名、持久化存储等。
5. 使用以下命令安装Harbor:
```
helm install harbor harbor/harbor -n harbor -f harbor-values.yaml
```
这将在之前创建的`harbor`命名空间中部署Harbor。
6. 等待部署完成后,您可以使用以下命令查看Harbor的状态:
```
kubectl get pods -n harbor
```
当所有的Harbor组件都处于`Running`状态时,表示部署成功。
7. 最后,您可以通过配置的访问方式(如Ingress或NodePort)访问Harbor。如果使用Ingress,确保已经配置了域名解析和证书。
希望以上步骤对您有所帮助!如有任何问题,请随时提问。