Kubernetes
Вы можете найти инструкции для развёртывания Verdaccio на кластере Kubernetes в репозитории verdaccio/docker-example. Однако, рекомендуемым методом установки Verdaccio на кластер Kubernetes является использование Helm. Helm это пакетный менеджер Kubernetes который даёт некоторые приемущества.
Helm
Установка Helm
Если ранее вы не пользовались Helm, то вам потребуется настроить Helm контроллер называемый Tiller:
helm init
Установка
⚠️ If you are using this helm chart, please be aware of the migration of the repository.
Разверните Helm stable/verdaccio.
Установка конкретной версии
helm install --name npm stable/verdaccio
Примечание: эта команда удалит все ресурсы, включая пакеты, которые ранее были вами опубликованы в реестре.
helm install --name npm --set image.tag=2.6.5 stable/verdaccio
Deploy a specific version
helm upgrade npm stable/verdaccio
Обновление Verdaccio
helm del --purge npm
Удаление
wget https://raw.githubusercontent.com/verdaccio/verdaccio/master/conf/docker.yaml -O config.yaml
Вы можете настроить конфигурацию Verdaccio используя Kubernetes configMap.
Пользовательская конфигурация Verdaccio
Скопируйте имеющуюся конфигурацию и адаптируйте её для себя:
Подготовка
Примечание: Убедитесь, что вы используете правильный путь для постоянного хранилища:
wget https://raw.githubusercontent.com/verdaccio/verdaccio/master/packages/config/src/conf/docker.yaml -O config.yaml
Для применения configMap
к нашему кластеру
storage: /verdaccio/storage/data
auth:
htpasswd:
file: /verdaccio/storage/htpasswd
Применение configMap
Сейчас вы можете развернуть Verdaccio Helm пакет и указать, с какой конфигурацией его нужно развернуть: use:
kubectl create configmap verdaccio-config --from-file ./config.yaml
Разворачивание Verdaccio
Rancher это платформа для управления конечными контейнерами, которая делает управление им и их использование в production реально простым.
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
....
...
Поддержка Rancher
Rancher is a complete container management platform that makes managing and using containers in production really easy.