Salta al contenuto principale

Kubernetes

Le istruzioni per sviluppare Verdaccio su un cluster Kubernetes si possono trovare nell'archivio verdaccio/docker-example. Tuttavia, il metodo raccomandato per l'installazione di Verdaccio su un cluster Kubernetes è di utilizzare Helm. Helm è un gestore di pacchetti Kubernetes che trae molteplici vantaggi.

Helm

Configurare Helm

Se non si è mai usato Helm prima d'ora, è necessario configurare il controller chiamato Tiller:

helm init

Installazione

⚠️ Se stai usando questo grafico di helm, sei pregato di esser consapevole della migrazione della repository.

Sviluppare il grafico Helm stable/verdaccio.

Sviluppare una versione specifica

helm install --name npm stable/verdaccio

Nota: questo comando cancella tutte le risorse, inclusi i pacchetti che potresti aver pubblicato precedentemente sul registro.

helm install --name npm --set image.tag=2.6.5 stable/verdaccio

Distribuisci una versione specifica

helm upgrade npm stable/verdaccio

Aggiornamento di Verdaccio

helm del --purge npm

Disinstallazione

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

È possibile personalizzare la configurazione di Verdaccio utilizzando un Kubernetes configMap.

Configurazione personalizzata di Verdaccio

Copiare la configurazione esistente e adattarla al proprio caso d'uso:

Preparazione

Nota: Assicurarsi che si stia utilizzando il percorso corretto per l'archiviazione che viene usato per la persistenza:

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

Sviluppare il configMap nel cluster

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

Sviluppare il configMap

Ora è possibile sviluppare il grafico Verdaccio Helm e specificare quale configurazione utilizzare:

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

Sviluppare Verdaccio

Rancher è una piattaforma completa per l'amministrazione di contenitori che rende estremamente semplice gestire ed utilizzare contenitori in produzione.

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.

  1. Update your Verdaccio config according to the Uplinks documentation
  2. Pass the secret environment variable to your values file or via --set secretEnvVars.FOO_TOKEN=superSecretBarToken
# values.yaml
secretEnvVars:
FOO_TOKEN: superSecretBarToken

Limite di dimensione del corpo del proxy NGINX

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
....
...

Supporto Rancher

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