跳到主要内容
版本号:Next

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 将敏感值注入容器。

  1. 根据 Uplinks 文档更新 Verdaccio 配置
  2. 将秘密环境变量传递到您的 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是一个完整的容器管理平台,可使生产中容器的管理和使用变得非常简单。