Kubernetes
Puedes encontrar las instrucciones para desplegar Verdaccio en un cluster de Kubernetes en el repositorio verdaccio/docker-example. Sin embargo, el método recomendado de instalar Verdaccio en un cluster de Kubernetes es usando Helm. Helm is a Kubernetes es un administrador de paquetes que trae muchos beneficios y ventajas.
Helm
Configurar Helm
Si no has usado Helm anteriormente, necesitarás configurar el controlador de Helm llamado Tiller:
helm init
Instalación
⚠️ If you are using this helm chart, please be aware of the migration of the repository.
Desplegar Helm stable/verdaccio chart.
Desplegar una versión específica
helm install --name npm stable/verdaccio
Nota: el comando borra todos los recursos, incluyendo los paquetes que tu podrías haber publicado anteriormente al registro.
helm install --name npm --set image.tag=2.6.5 stable/verdaccio
Deploy a specific version
helm upgrade npm stable/verdaccio
Actualizando Verdaccio
helm del --purge npm
Desinstalar
wget https://raw.githubusercontent.com/verdaccio/verdaccio/master/conf/docker.yaml -O config.yaml
Puedes personalizar la configuracion de verdaccio usando un * configMap* de Kubernetes.
Configuración personalizada de Verdaccio
Copy the existing configuration and adapt it for your use case:
Preparando
Nota: Asegúrese que usa la dirección correcta para el almacenamiento que es usado por la persistencia:
wget https://raw.githubusercontent.com/verdaccio/verdaccio/master/packages/config/src/conf/docker.yaml -O config.yaml
Desplegar el configMap
en el cluster
storage: /verdaccio/storage/data
auth:
htpasswd:
file: /verdaccio/storage/htpasswd
Desplegar el configMap
Ahora puedes desplegar Verdaccio Helm chart y especificar cual configuración usar:
kubectl create configmap verdaccio-config --from-file ./config.yaml
Desplegar Verdaccio
Rancher es una completa plataforma para la administración de contenedores en producción muy fácil de usar.
helm install npm --set existingConfigMap=verdaccio-config verdaccio/verdaccio
Authenticate with private upstreams using Helm
As of version 4.8.0
of the helm chart, a new secretEnvVars
field has been added.
This allows you to inject sensitive values to the container via a Kubernetes Secret.
- Update your Verdaccio config according to the Uplinks documentation
- Pass the secret environment variable to your values file or via
--set secretEnvVars.FOO_TOKEN=superSecretBarToken
# values.yaml
secretEnvVars:
FOO_TOKEN: superSecretBarToken
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
....
...
Soporte Rancher
Rancher is a complete container management platform that makes managing and using containers in production really easy.