Skip to main content

heml npm 仓库

https://verdaccio.org/zh-cn/docs/installation/#helm-chart

使用 Helm 部署一个 npm 仓库(如 Verdaccio)在 Kubernetes 上是一个常见的需求。以下是一个详细的步骤指南,帮助你使用 Helm 部署 Verdaccio 作为你的 npm 仓库。

1. 查找或创建 Verdaccio 的 Helm Chart

首先,检查是否有现成的 Verdaccio Helm Chart。你可以在 Artifact Hub 或其他 Helm Chart 仓库中查找。如果没有合适的 Chart,你也可以自己创建一个。

2. 添加 Helm 仓库

如果有现成的 Verdaccio Chart,可以直接添加相关的 Helm 仓库。例如:

helm repo add verdaccio https://charts.verdaccio.org
helm repo update

3. 安装 Verdaccio

使用 helm install 命令安装 Verdaccio。你可以指定一些自定义值来配置 Verdaccio。

helm install my-verdaccio verdaccio/verdaccio

4. 自定义配置

你可以通过 values.yaml 文件或 --set 参数自定义 Verdaccio 的配置。例如,设置存储卷、端口和其他配置。

使用 values.yaml 文件:

创建一个 values.yaml 文件,内容如下:

replicaCount: 1

image:
repository: verdaccio/verdaccio
tag: 5.1.2
pullPolicy: IfNotPresent

service:
type: ClusterIP
port: 4873

ingress:
enabled: true
annotations: {}
hosts:
- host: npm.example.com
paths:
- path: /
pathType: ImplementationSpecific
tls: []

resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

persistence:
enabled: true
storageClass: ""
accessModes:
- ReadWriteOnce
size: 8Gi

configMap:
customConfig: |
storage: /verdaccio/storage/data
auth:
htpasswd:
file: /verdaccio/storage/htpasswd
max_users: 1000
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
access: $all
publish: $authenticated
proxy: npmjs
'**':
access: $all
publish: $authenticated
proxy: npmjs
logs:
- { type: stdout, format: pretty, level: http }

然后使用 helm install 命令安装并应用该配置:

helm install my-verdaccio verdaccio/verdaccio -f values.yaml

使用 --set 参数:

你也可以直接在命令行中设置一些简单的参数:

helm install my-verdaccio verdaccio/verdaccio \
--set service.type=NodePort \
--set persistence.size=8Gi

5. 访问 Verdaccio

根据你配置的服务类型和 Ingress,你可以通过不同的方式访问 Verdaccio:

  • ClusterIP:通过内部服务访问。
  • NodePort:通过节点的 IP 和分配的端口访问。
  • Ingress:通过指定的域名访问,需要配置 DNS 和 Ingress 控制器。

6. 验证安装

使用 kubectl 命令验证 Verdaccio 是否成功部署并运行:

kubectl get pods -l app.kubernetes.io/name=verdaccio
kubectl get svc -l app.kubernetes.io/name=verdaccio

检查 Pod 的日志以确保 Verdaccio 正常启动:

kubectl logs -l app.kubernetes.io/name=verdaccio

总结

通过以上步骤,你可以使用 Helm 在 Kubernetes 上部署一个 Verdaccio npm 仓库:

  1. 查找或创建 Verdaccio 的 Helm Chart。
  2. 添加 Helm 仓库。
  3. 使用 Helm 安装 Verdaccio。
  4. 自定义配置,通过 values.yaml 文件或 --set 参数。
  5. 根据服务类型和 Ingress 配置访问 Verdaccio。
  6. 验证安装是否成功。

这样,你就可以在 Kubernetes 上轻松部署和管理你的 npm 仓库。