本镜像是一款面向应用开发者的工具,旨在简化在Kubernetes(K8s)集群中创建和部署后台服务的流程。通过自动化生成Kubernetes资源配置、集成常用部署工具及简化配置步骤,帮助开发者快速将后台服务(如API服务、定时任务、消息处理服务等)部署到K8s环境,减少手动编写K8s配置文件的复杂度,提升开发效率。
kubectl应用到K8s集群,支持一键部署和版本回滚。kubectl可连接集群(kubectl config view验证)。edit或admin角色)。bashdocker pull k8s-bg-service-creator:latest
通过docker run命令启动容器,传入服务参数,自动生成K8s配置文件并输出到本地目录。
示例:生成无状态后台服务配置
bashdocker run -it --rm \ -v $(pwd)/k8s-config:/output \ # 挂载本地目录接收输出配置 -e SERVICE_NAME="user-api" \ # 服务名称 -e SERVICE_TYPE="deployment" \ # 服务类型(deployment/cronjob/job) -e REPLICAS=2 \ # 副本数 -e IMAGE="myapp/user-api:v1.0" \# 服务镜像 -e PORT=8080 \ # 服务端口 k8s-bg-service-creator:latest
执行后,本地./k8s-config目录将生成deployment.yaml和service.yaml文件。
使用生成的配置文件部署服务:
bashkubectl apply -f ./k8s-config/
验证部署:
bashkubectl get deployments user-api # 查看Deployment状态 kubectl get pods -l app=user-api # 查看Pod状态 kubectl get service user-api # 查看Service暴露的端口
| 环境变量名 | 描述 | 可选值 | 默认值 | 示例 |
|---|---|---|---|---|
SERVICE_NAME | 服务名称(K8s资源前缀) | 字符串(符合K8s命名规范) | bg-service | order-processor |
SERVICE_TYPE | 服务类型 | deployment/cronjob/job | deployment | cronjob |
REPLICAS | 副本数(仅deployment类型) | 正整数 | 1 | 3 |
IMAGE | 服务镜像地址(含版本) | 有效的Docker镜像地址 | - | nginx:alpine |
PORT | 容器端口(仅deployment类型) | 1-65535 | 80 | 9000 |
COMMAND | 容器启动命令 | 字符串(空格分隔参数) | 镜像默认命令 | python /app/main.py |
CRON_SCHEDULE | 定时任务调度(仅cronjob) | Cron表达式 | - | 0 3 * * *(每天3点) |
LOG_LEVEL | 日志级别 | debug/info/warn/error | info | debug |
ENABLE_MONITORING | 是否启用Prometheus监控 | true/false | false | true |
若需复杂配置(如资源限制、环境变量注入、挂载卷),可通过挂载配置文件config.yaml实现:
yaml# config.yaml 示例 service: name: "payment-processor" type: "deployment" replicas: 2 container: image: "myapp/payment:v2.1" port: 8080 command: ["java", "-jar", "/app/payment.jar"] resources: # 资源限制 limits: cpu: "1" memory: "1Gi" requests: cpu: "500m" memory: "512Mi" env: - name: "DB_HOST" value: "mysql-service" - name: "DB_PORT" value: "3306" volumes: - name: "config-volume" configMap: name: "payment-config" volumeMounts: - name: "config-volume" mountPath: "/app/config" monitoring: enabled: true port: 9090 path: "/metrics"
启动容器时挂载配置文件:
bashdocker run -it --rm \ -v $(pwd)/config.yaml:/app/config.yaml \ -v $(pwd)/k8s-config:/output \ k8s-bg-service-creator:latest --config /app/config.yaml
bashdocker run -it --rm \ -v $(pwd)/k8s-config:/output \ -e SERVICE_NAME="log-cleaner" \ -e SERVICE_TYPE="cronjob" \ -e IMAGE="myapp/log-cleaner:v1.2" \ -e COMMAND="/clean.sh --days=7" \ -e CRON_SCHEDULE="0 0 * * *" \ # 每天0点执行 -e LOG_LEVEL="info" \ k8s-bg-service-creator:latest
bashkubectl apply -f ./k8s-config/cronjob.yaml
bashkubectl get cronjobs log-cleaner # 查看CronJob状态 kubectl get jobs --selector=app=log-cleaner # 查看历史任务
docker run。CronJob资源(K8s 1.21+默认启用)。ENABLE_MONITORING=true)时,需确保集群已部署Prometheus Operator。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429