0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-12-16 21:56:25 -05:00
verdaccio/website/docs/kubernetes.md
Sergio Moreno a6b0d63afb
feat: migrate Verdaccio.org to Docusaurus v2 and new design (#2343)
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-07-27 21:52:49 +02:00

3.1 KiB

id title
kubernetes Kubernetes

You can find instructions to deploy Verdaccio on a Kubernetes cluster on the verdaccio/docker-example repository. However, the recommended method to install Verdaccio on a Kubernetes cluster is to use Helm. Helm is a Kubernetes package manager which bring multiple advantages.

Helm

Setup Helm

If you haven't used Helm before, you need to setup the Helm controller called Tiller:

helm init

Install

⚠️ If you are using this helm chart, please be aware of the migration of the repository.

Deploy the Helm verdaccio/verdaccio chart.

Add repository

helm repo add verdaccio https://charts.verdaccio.org

In this example we use npm as release name:

helm install npm verdaccio/verdaccio

Deploy a specific version

helm install npm --set image.tag=3.13.1 verdaccio/verdaccio

Upgrading Verdaccio

helm upgrade npm verdaccio/verdaccio

Uninstalling

helm uninstall npm

Note: this command delete all the resources, including packages that you may have previously published to the registry.

Custom Verdaccio configuration

You can customize the Verdaccio configuration using a Kubernetes configMap.

Prepare

Copy the existing configuration and adapt it for your use case:

wget https://raw.githubusercontent.com/verdaccio/verdaccio/master/packages/config/src/conf/docker.yaml -O config.yaml

Note: Make sure you are using the right path for the storage that is used for persistency:

storage: /verdaccio/storage/data
auth:
  htpasswd:
    file: /verdaccio/storage/htpasswd

Deploy the configMap

Deploy the configMap to the cluster

kubectl create configmap verdaccio-config --from-file ./config.yaml

Deploy Verdaccio

Now you can deploy the Verdaccio Helm chart and specify which configuration to use:

helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio

NGINX proxy body-size limit

The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the documentation:

...

annotations:
...

    kubernetes.io/proxy-body-size: 20m
....    
...

Rancher Support

Rancher is a complete container management platform that makes managing and using containers in production really easy.