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 仓库:
- 查找或创建 Verdaccio 的 Helm Chart。
- 添加 Helm 仓库。
- 使用 Helm 安装 Verdaccio。
- 自定义配置,通过
values.yaml文件或--set参数。 - 根据服务类型和 Ingress 配置访问 Verdaccio。
- 验证安装是否成功。
这样,你就可以在 Kubernetes 上轻松部署和管理你的 npm 仓库。