# Helm Chart for Harbor
**Notes:** The master branch is in heavy development, please use the other stable versions instead. A high available solution for Harbor based on chart can be find [here](docs/High%20Availability.md). And refer to the [guide](docs/Upgrade.md) to upgrade the existing deployment.
This repository, including the issues, focus on deploying Harbor chart via helm. So for the functionality issues or questions of Harbor, please open issues on [goharbor/harbor](https://github.com/goharbor/harbor)
## Introduction
This [Helm](https://github.com/kubernetes/helm) chart installs [Harbor](https://github.com/goharbor/harbor) in a Kubernetes cluster. Welcome to [contribute](CONTRIBUTING.md) to Helm Chart for Harbor.
## Prerequisites
- Kubernetes cluster 1.18+
- Helm 2.10.0+
## Installation
### Add Helm repository
```bash
helm repo add harbor https://helm.goharbor.io
```
### Configure the chart
The following items can be set via `--set` flag during installation or configured by editing the `values.yaml` directly(need to download the chart first).
#### Configure the way how to expose Harbor service
- **Ingress**: The ingress controller must be installed in the Kubernetes cluster.
**Notes:** if the TLS is disabled, the port must be included in the command when pulling/pushing images. Refer to issue [#5291](https://github.com/goharbor/harbor/issues/5291) for the detail.
- **ClusterIP**: Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster.
- **NodePort**: Exposes the service on each Node’s IP at a static port (the NodePort). You’ll be able to contact the NodePort service, from outside the cluster, by requesting `NodeIP:NodePort`.
- **LoadBalancer**: Exposes the service externally using a cloud provider’s load balancer.
#### Configure the external URL
The external URL for Harbor core service is used to:
1. populate the docker/helm commands showed on portal
2. populate the token service URL returned to docker/notary client
Format: `protocol://domain[:port]`. Usually:
- if expose the service via `Ingress`, the `domain` should be the value of `expose.ingress.hosts.core`
- if expose the service via `ClusterIP`, the `domain` should be the value of `expose.clusterIP.name`
- if expose the service via `NodePort`, the `domain` should be the IP address of one Kubernetes node
- if expose the service via `LoadBalancer`, set the `domain` as your own domain name and add a CNAME record to map the domain name to the one you got from the cloud provider
If Harbor is deployed behind the proxy, set it as the URL of proxy.
#### Configure the way how to persistent data
- **Disable**: The data does not survive the termination of a pod.
- **Persistent Volume Claim(default)**: A default `StorageClass` is needed in the Kubernetes cluster to dynamic provision the volumes. Specify another StorageClass in the `storageClass` or set `existingClaim` if you have already existing persistent volumes to use.
- **External Storage(only for images and charts)**: For images and charts, the external storages are supported: `azure`, `gcs`, `s3` `swift` and `oss`.
#### Configure the other items listed in [configuration](#configuration) section
### Install the chart
Install the Harbor helm chart with a release name `my-release`:
helm 2:
```bash
helm install --name my-release harbor/harbor
```
helm 3:
```bash
helm install my-release harbor/harbor
```
## Uninstallation
To uninstall/delete the `my-release` deployment:
helm 2:
```bash
helm delete --purge my-release
```
helm 3:
```
helm uninstall my-release
```
## Configuration
The following table lists the configurable parameters of the Harbor chart and the default values.
| Parameter | Description | Default |
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| **Expose** | | |
| `expose.type` | The way how to expose the service: `ingress`, `clusterIP`, `nodePort` or `loadBalancer`, other values will be ignored and the creation of service will be skipped. | `ingress` |
| `expose.tls.enabled` | Enable the tls or not. Delete the `ssl-redirect` annotations in `expose.ingress.annotations` when TLS is disabled and `expose.type` is `ingress`. Note: if the `expose.type` is `ingress` and the tls is disabled, the port must be included in the command when pull/push images. Refer to https://github.com/goharbor/harbor/issues/5291 for the detail. | `true` |
| `expose.tls.certSource` | The source of the tls certificate. Set it as `auto`, `secret` or `none` and fill the information in the corresponding section: 1) auto: generate the tls certificate automatically 2) secret: read the tls certificate from the specified secret. The tls certificate can be generated manually or by cert manager 3) none: configure no tls certificate for the ingress. If the default tls certificate is configured in the ingress controller, choose this option | `auto` |
| `expose.tls.auto.commonName` | The common name used to generate the certificate, it's necessary when the type isn't `ingress`
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SREWorks云原生数智运维平台 (2000个子文件)
main.css 368KB
editor.main.css 168KB
console1412.css 153KB
bootstrap.css 120KB
font-awesome.css 33KB
codemirror.css 9KB
demo.css 8KB
icon.css 5KB
merge.css 4KB
iconfont.css 3KB
screen_loading.css 2KB
demo_index.html 52KB
index.html 5KB
index.html 3KB
index.html 2KB
login.html 567B
PersistService.java 150KB
RaftCore.java 37KB
Cmdb_ITCase.java 35KB
ConfigController.java 31KB
ServiceManager.java 31KB
ConfigAPI_ITCase.java 30KB
Base64.java 26KB
AuthCheckGlobalFilter.java 26KB
PushService.java 25KB
ClientWorker.java 24KB
MultiTenant_ITCase.java 24KB
MultiTenant_InstanceAPI_ITCase.java 23KB
ConfigService.java 22KB
NamingProxy.java 21KB
CapacityService.java 21KB
InstanceController.java 21KB
HttpClient.java 20KB
CPInstancesAPI_ITCase.java 20KB
LongPollingService.java 20KB
NacosNamingService.java 20KB
NamingService.java 20KB
PrivateAccountController.java 19KB
OamClient.java 18KB
ServiceController.java 18KB
CapacityManagementAspect.java 18KB
ServerHttpAgent.java 18KB
DumpService.java 17KB
UserController.java 17KB
ServerListService.java 17KB
DumpTask.java 17KB
ServerListManager.java 17KB
Service.java 17KB
ServerListManager.java 15KB
ConfigExportAndImportAPI_ITCase.java 15KB
DistroConsistencyServiceImpl.java 14KB
ConfigBeta_ITCase.java 14KB
ConfigServletInner.java 14KB
Cluster.java 14KB
SwitchManager.java 14KB
AsyncNotifyService.java 13KB
TcpSuperSenseProcessor.java 13KB
GlobalControllerExceptionHandler.java 13KB
RoleController.java 13KB
SelectInstances_ITCase.java 13KB
GroupCapacityPersistService.java 13KB
BasicDataSourceServiceImpl.java 13KB
HostReactor.java 13KB
NacosConfigService.java 12KB
SwitchDomain.java 12KB
PermissionCheckController.java 12KB
CatalogController.java 12KB
RouteAdminController.java 12KB
RaftStore.java 11KB
RaftController.java 11KB
GatewayRouteConfigServiceImpl.java 11KB
CacheData.java 11KB
TeslaRouteDefinitionRouteLocator.java 11KB
TenantCapacityPersistService.java 11KB
HealthCheckCommon.java 11KB
RestAPI_ITCase.java 11KB
ThreadLocalRandom.java 10KB
UtilsAndCommons.java 10KB
HttpSimpleClient.java 10KB
ConfigSubService.java 10KB
OperatorController.java 10KB
Instance.java 10KB
FlyadminAppmanagerPackageService.java 10KB
NamingProxy.java 9KB
LabelSelector.java 9KB
AasClient.java 9KB
FailoverReactor.java 9KB
PropertyUtil.java 9KB
LoginController.java 9KB
AuthProxyClient.java 9KB
RaftPeerSet.java 9KB
RandomUtils.java 9KB
PrivatePermissionController.java 9KB
MysqlHealthCheckProcessor.java 9KB
Subscribe_ITCase.java 9KB
HttpHealthCheckProcessor.java 8KB
FlyadminAppmanagerDeployService.java 8KB
AutoDeregisterInstance_ITCase.java 8KB
CmdbProvider.java 8KB
DiskUtil.java 8KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 7363
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM32F103C8T6的4g模块(air724ug)
- 基于Java技术的ASC学业支持中心并行项目开发设计源码
- 基于Java和微信支付的wxmall开源卖票商城设计源码
- 基于Java和前端技术的东软环保公众监督系统设计源码
- 基于Python、HTML、CSS的crawlerdemo软件工程实训爬虫设计源码
- 基于多智能体深度强化学习的边缘协同任务卸载方法设计源码
- 基于BS架构的Java、Vue、JavaScript、CSS、HTML整合的毕业设计源码
- 基于昇腾硬件加速的AI大模型性能优化设计源码
- 基于Plpgsql与Python FastAPI的mini-rbac-serve权限管理系统后端设计源码
- 基于SpringBoot的轻量级Java快速开发源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功