Kubernetes
您可以在verdaccio/docker-example 资源库找到在 Kubernetes 群集中配置 Verdaccio 的指南。 不过,在 Kubernetes 集群上安装 Verdaccio 的推荐方法是使用 Helm。 Helm 是 Kubernetes 包管理工具,它带来很多优点。
Helm
设置Helm
如果您以前没有使用过 Helm,您需要设置叫做 Tiller 的 Helm 控制器:
helm init
安装
⚠️如果您正在使用此 Helm Chart,请注意存储库的迁移。
部署 Helm verdaccio/verdaccio 图表。
添加存储库
helm repo add verdaccio https://charts.verdaccio.org
在此示例中,我们使用 npm
作为版本名称:
helm install npm verdaccio/verdaccio
部署特定版本
helm install npm --set image.tag=3.13.1 verdaccio/verdaccio
升级 Verdaccio
helm upgrade npm verdaccio/verdaccio
卸载
helm uninstall npm
注意:该命令将删除所有资源,包括以前可能已发布到注册表的软件包。
自定义 Verdaccio 配置
您可以使用 Kubernetes configMap 自定义 Verdaccio 配置。
准备
复制现有配置并根据您的使用情况进行调整:
wget https://raw.githubusercontent.com/verdaccio/verdaccio/master/packages/config/src/conf/docker.yaml -O config.yaml
注意:确保您使用的持续存储路径正确:
storage: /verdaccio/storage/data
auth:
htpasswd:
file: /verdaccio/storage/htpasswd
部署 configMap
将configMap
部署到集群
kubectl create configmap verdaccio-config --from-file ./config.yaml
部署 Verdaccio
现在您可以部署 Verdaccio Helm 图表并指定要使用的配置:
helm install npm --set existingConfigMap=verdaccio-config verdaccio/verdaccio
使用 Helm 向私有上游进行身份验证
从 Helm Chart 4.8.0
版本开始,添加了新的 secretEnvVars
字段。
这允许您通过 Kubernetes Secret 将敏感值注入容器。
- 根据 Uplinks 文档更新 Verdaccio 配置
- 将秘密环境变量传递到您的 values 文件或通过
--set SecretEnvVars.FOO_TOKEN=superSecretBarToken
# values.yaml
secretEnvVars:
FOO_TOKEN: superSecretBarToken
NGINX 代理请求体大小限制
标准 k8s NGINX 入口代理允许 1MB 的请求体大小,并且可以根据文档修改默认部署选项来增加:
...
annotations:
...
kubernetes.io/proxy-body-size: 20m
....
...
Rancher 支持
Rancher是一个完整的容器管理平台,可使生产中容器的管理和使用变得非常简单。