- Helm 2.8.0+
- High available ingress controller (Harbor does not manage the external endpoint)
- High available PostgreSQL 9.6+ (Harbor does not handle the deployment of HA of database)
- High available Redis (Harbor does not handle the deployment of HA of Redis)
Most of Harbor’s components are stateless now. So we can simply increase the replica of the pods to make sure the components are distributed to multiple worker nodes, and leverage the “Service” mechanism of K8S to ensure the connectivity across pods.
As for storage layer, it is expected that the user provide high available PostgreSQL, Redis cluster for application data and PVCs or object storage for storing images and charts.
Download Harbor helm chart:
Configure the followings items in , you can also set them as parameters via --set
flag during running helm install
:
Ingress rule Configure the
expose.ingress.hosts.core
andexpose.ingress.hosts.notary
.External PostgreSQL Set the
database.type
toexternal
and fill the information indatabase.external
section.Three empty databases should be created manually for
Harbor core
,Notary server
andNotary signer
and configure them in the section. Harbor will create tables automatically when starting up.External Redis Set the
redis.type
toexternal
and fill the information inredis.external
section.Harbor introduced redis mode support in 2.1.0. You can enable this by setting
sentinel_master_set
andhost
to<host_sentinel1>:<port_sentinel1>,<host_sentinel2>:<port_sentinel2>,<host_sentinel3>:<port_sentinel3>
.You can also refer to this to setup a HAProxy before the Redis to expose a single entry point.
Replica Set
portal.replicas
,core.replicas
,jobservice.replicas
,registry.replicas
,chartmuseum.replicas
,notary.server.replicas
andnotary.signer.replicas
ton
(n
>=2).
Install the Harbor helm chart with a release name my-release
:
Helm 2: