
artifacthub/db-migrator本镜像是一个轻量级的Kubernetes包管理工具,专注于提供查找(Find)、安装(Install)和发布(Publish)Kubernetes包的全流程能力。它旨在简化Kubernetes集群中应用、资源或配置包的管理流程,支持用户快速定位、部署和共享Kubernetes生态中的各类包资源(如Helm Chart、Kustomize包、Operator等),适用于开发、测试及生产环境的Kubernetes包生命周期管理。
通过Docker Hub或私有仓库拉取镜像:
bashdocker pull [镜像仓库地址]/k8s-package-manager:latest # 示例(假设官方仓库):docker pull k8spkgmgr/k8s-package-manager:latest
搜索仓库中关键词为“nginx”的包:
bashdocker run --rm \ -v $HOME/.kube/config:/root/.kube/config:ro \ # 挂载kubeconfig(可选,若需集群验证) -e PACKAGE_REPO="[***]" \ # 指定包仓库地址 k8spkgmgr/k8s-package-manager:latest \ find --search "nginx" --filter "type=helm-chart"
安装指定版本的“nginx”包至Kubernetes集群:
bashdocker run --rm \ -v $HOME/.kube/config:/root/.kube/config:ro \ # 挂载kubeconfig以访问集群 -e PACKAGE_REPO="[***]" \ -e KUBECONFIG="/root/.kube/config" \ # 指定kubeconfig路径 k8spkgmgr/k8s-package-manager:latest \ install --name "nginx" --version "1.23.0" --namespace "default" \ --set "service.type=NodePort" # 自定义安装参数
将本地Helm Chart打包并推送到私有仓库:
bashdocker run --rm \ -v $HOME/my-chart:/chart \ # 挂载本地包目录 -v $HOME/.kube/config:/root/.kube/config:ro \ -e PACKAGE_REPO="[***]" \ -e AUTH_TOKEN="xxxxx" \ # 仓库认证令牌 k8spkgmgr/k8s-package-manager:latest \ publish --path "/chart" --version "1.0.0" --description "My custom nginx chart"
通过docker-compose.yml简化多命令场景配置:
yamlversion: "3.8" services: k8s-pkg-manager: image: k8spkgmgr/k8s-package-manager:latest volumes: - $HOME/.kube/config:/root/.kube/config:ro # 挂载kubeconfig - ./local-packages:/packages # 本地包存储目录 environment: - PACKAGE_REPO=[***] # 默认包仓库 - KUBECONFIG=/root/.kube/config # kubeconfig路径 - AUTH_TOKEN=${REPO_TOKEN} # 从环境变量注入认证令牌 command: ["--help"] # 默认命令(可替换为find/install/publish)
启动方式:
bashREPO_TOKEN="xxxxx" docker-compose up
| 参数 | 说明 | 示例值 |
|---|---|---|
find | 查找包命令 | find --search "nginx" |
--search | 搜索关键词(仅find命令) | "nginx" |
--filter | 过滤条件(如type=helm-chart) | "type=helm-chart" |
install | 安装包命令 | install --name "nginx" |
--name | 包名称(install/publish命令) | "nginx" |
--version | 包版本号 | "1.23.0" |
--namespace | 安装目标命名空间(install命令) | "default" |
--set | 自定义安装参数(键值对) | "service.type=NodePort" |
publish | 发布包命令 | publish --path "/chart" |
--path | 本地包路径(publish命令) | "/chart" |
--description | 包描述(publish命令) | "My custom chart" |
| 环境变量 | 说明 | 默认值 |
|---|---|---|
KUBECONFIG | kubeconfig文件路径 | /root/.kube/config |
PACKAGE_REPO | 默认包仓库地址 | [***] |
AUTH_TOKEN | 仓库认证令牌(用于私有仓库访问) | 无(公开仓库无需) |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
CACHE_DIR | 包缓存目录 | /tmp/pkg-cache |
kubeconfig或配置KUBECONFIG环境变量获取Kubernetes集群访问权限。AUTH_TOKEN或挂载认证文件(如.netrc)提供凭证。--version指定兼容版本)。root)有读写权限。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务