From 95791a9fa80c869293dec36a1298b5fcaa3baa61 Mon Sep 17 00:00:00 2001 From: Jesse Hu Date: Wed, 28 Mar 2018 14:24:34 +0800 Subject: [PATCH] Update Harbor helm chart README.md [Skip CI] (#4479) * Update Harbor helm chart README.md * More update in harbor chart README.md * require 'Helm CLI 2.8.0+' --- contrib/helm/harbor/README.md | 48 +++++++++++++++++------------------ 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/contrib/helm/harbor/README.md b/contrib/helm/harbor/README.md index 52da97939..a62a236f3 100644 --- a/contrib/helm/harbor/README.md +++ b/contrib/helm/harbor/README.md @@ -2,57 +2,40 @@ ## Introduction -This [Helm](https://github.com/kubernetes/helm) chart installs [Harbor](http://vmware.github.io/harbor/) in a Kubernetes cluster. +This [Helm](https://github.com/kubernetes/helm) chart installs [Harbor](http://vmware.github.io/harbor/) in a Kubernetes cluster. Currently this chart supports Harbor v1.4.0 release. ## Prerequisites - Kubernetes cluster 1.8+ with Beta APIs enabled - Kubernetes Ingress Controller is enabled - kubectl CLI 1.8+ -- PV provisioner support in the underlying infrastructure +- Helm CLI 2.8.0+ ## Setup a Kubernetes cluster You can use any tools to setup a K8s cluster. In this guide, we use [minikube](https://github.com/kubernetes/minikube) to setup a K8s cluster as the dev/test env. - ```bash # Start minikube minikube start --vm-driver=none # Enable Ingress Controller minikube addons enable ingress ``` - ## Installing the Chart First install [Helm CLI](https://github.com/kubernetes/helm#install), then initialize Helm. ```bash -helm init --canary-image +helm init ``` - Download Harbor helm chart code. - ```bash git clone https://github.com/vmware/harbor -cd harbor/contrib/helm/harbor +cd contrib/helm/harbor ``` - -### Insecure Registry Mode - -If setting Harbor Registry as insecure-registries for docker, -you don't need to generate Root CA and SSL certificate for the Harbor ingress controller. - -Install the Harbor helm chart with a release name `my-release`: - +Download external dependent charts required by Harbor chart. ```bash -helm install . --debug --name my-release --set externalDomain=harbor.my.domain,insecureRegistry=true +helm dependency update ``` - -**Make sure** `harbor.my.domain` resolves to the K8s Ingress Controller IP on the machines where you run docker or access Harbor UI. -You can add `harbor.my.domain` and IP mapping in the DNS server, or in /etc/hosts, or use the FQDN `harbor..xip.io`. - -Then add `"insecure-registries": ["harbor.my.domain"]` in the docker daemon config file and restart docker service. - ### Secure Registry Mode By default this chart will generate a root CA and SSL certificate for your Harbor. @@ -62,18 +45,33 @@ open values.yaml, set the value of 'externalDomain' to your Harbor FQDN, and set value of 'tlsCrt', 'tlsKey', 'caCrt'. The common name of the certificate must match your Harbor FQDN. Install the Harbor helm chart with a release name `my-release`: - ```bash helm install . --debug --name my-release --set externalDomain=harbor.my.domain ``` +**Make sure** `harbor.my.domain` resolves to the K8s Ingress Controller IP on the machines where you run docker or access Harbor UI. +You can add `harbor.my.domain` and IP mapping in the DNS server, or in /etc/hosts, or use the FQDN `harbor..xip.io`. Follow the `NOTES` section in the command output to get Harbor admin password and **add Harbor root CA into docker trusted certificates**. The command deploys Harbor on the Kubernetes cluster in the default configuration. -The [configuration](#configuration) section lists the parameters that can be configured during installation. +The [configuration](#configuration) section lists the parameters that can be configured in values.yaml or via '--set' params during installation. > **Tip**: List all releases using `helm list` +### Insecure Registry Mode + +If setting Harbor Registry as insecure-registries for docker, +you don't need to generate Root CA and SSL certificate for the Harbor ingress controller. + +Install the Harbor helm chart with a release name `my-release`: +```bash +helm install . --debug --name my-release --set externalDomain=harbor.my.domain,insecureRegistry=true +``` +**Make sure** `harbor.my.domain` resolves to the K8s Ingress Controller IP on the machines where you run docker or access Harbor UI. +You can add `harbor.my.domain` and IP mapping in the DNS server, or in /etc/hosts, or use the FQDN `harbor..xip.io`. + +Then add `"insecure-registries": ["harbor.my.domain"]` in the docker daemon config file and restart docker service. + ## Uninstalling the Chart To uninstall/delete the `my-release` deployment: