本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
仅限Atlassian内部使用
该Docker镜像用于将原型描述符(archetype descriptor)或服务描述符(service descriptor)转换为KITT Helm值,并支持通过配置对生成的Helm值进行覆盖和移除操作。
CONFIG变量应包含YAML格式的转换配置,可包含以下字段:
kushi: [必填] atlas kushi migrate命令的所有可用参数(需通过本地运行atlas kushi migrate --help查看详细说明)
archetype-descriptor: [必填] 原型描述符文件路径output-dir: [必填] Helm图表输出目录values-overrides: [可选] 参考values-overrides Schema,用于覆盖Helm值的配置列表values-removals: [可选] 参考values-removals Schema,用于从Helm值中移除字段的配置列表archetype-removals: [可选] [仅单体应用] 将服务描述符转换为原型描述符时需移除的原型字段列表archetype-overrides: [可选] [仅单体应用] 将服务描述符转换为原型描述符时需覆盖的原型字段values-overrides schemafile: [必填] 值覆盖文件路径,相对于kushi.output-dir,例如values.yaml、stg-east/values.yamlvalues: [必填] 需覆盖的Helm值映射,例如{"image.tag": "latest"}values-removals schemafile: [必填] 值移除文件路径,相对于kushi.output-dir,例如values.yaml、stg-east/values.yamlvalues: [必填] 需从Helm值中移除的字段列表kushi: service: confluence-dev-us-11 environment: stg-east,649535320606 archetype-descriptor: ./tests/fixtures/archetype-descriptor.yaml output-dir: ./helm/confluence-dev-us-11 main-container: confluence request-cpu: 5000m request-memory: 16Gi limit-cpu: 5000m limit-memory: 16Gi worker: - AmqWorker,5000m,16Gi,5000m,16Gi sidecar: - cc-nginx-sidecar,500m,100Mi,500m,350Mi - hofund,500m,100Mi,500m,350Mi ignore-error: - multiple-load-***s - sidecar-poco - unsupported-characters debug: "" # 空字符串表示用作标志,类似CLI中的--debug skip-docker-distributor-generation: "" skip-kitt-descriptor-generation: "" values-overrides: config/values-overrides.yaml # 可使用文件覆盖值,但灵活性不足且无法完全移除字段,因此需要此镜像 values-removals: - file: values.yaml values: kitt-application: secrets: vault: static: shard-purpose: { } # 完全移除该字段 values-overrides: - file: blah/values.yaml # 若文件不存在则跳过 values: { } # 若未提供值则不执行操作 - file: stg-east/values.yaml values: kitt-application: global: kitt: v1alpha2: cluster: cloud_type: gcp # 若字段不存在则添加,若存在则修改值 - file: values.yaml # 覆盖文件中的值 values: { } archetype-removals: definitions: serviceDescriptor: definitions: isolatedCloudServiceDescriptor: { } # 暂时完全移除该字段以避免IC转换错误 archetype-overrides: definitions: serviceDescriptor: compose: upp-sidecar: ports: - 8181:8484 # 原端口8181:8181与poco-sidecar冲突,此处修改
上述示例中,对values.yaml将完全移除kitt-application.secrets.vault字段;对stg-east/values.yaml将移除kitt-application.secrets.vault.static.shard-purpose字段,并添加/修改kitt-application.global.kitt.v1alpha2.cluster.cloud_type为gcp。
注意:若值为列表,将移除列表中匹配的项;若需完全移除字段,值必须设为空字符串、空对象或空列表,否则不会移除该字段。
CONFIG变量中的转换配置SERVICE_DESCRIPTOR变量,将服务描述符转换为原型描述符atlas kushi migrate命令将原型描述符转换为Helm图表GIT_ENABLED设为true,将变更提交至Git仓库(无变更则不提交)PULL_REQUEST_ENABLED设为true,自动创建拉取请求| 变量名 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|
CONFIG | 是 | 转换配置(YAML格式) | |
SERVICE_DESCRIPTOR | 否 | 服务描述符文件路径(仅适用于单体应用,需先将服务描述符转换为原型描述符) | |
DEBUG_MODE | 否 | "false" | 启用调试日志模式 |
ARTIFACTORY_USERNAME | 是 | Artifactory认证用户名,需使用artifactory-sidekick导出的环境变量 | |
ARTIFACTORY_PASSWORD | 是 | Artifactory认证密码,需使用artifactory-sidekick导出的环境变量 | |
GIT_ENABLED | 否 | "false" | 启用Git提交操作(无变更则不提交) |
GIT_EMAIL | 否 | Git提交者邮箱 | |
GIT_USERNAME | 否 | "x-token-auth" | Git认证用户名 |
GIT_PASSWORD | 否 | Git认证密码或访问令牌 | |
GIT_PROJECT | 否 | "atlassian" | Git项目/组织名称 |
COMMIT_MESSAGE | 否 | "noissue: Convert Helm values" | 变更提交信息 |
PULL_REQUEST_ENABLED | 否 | "false" | 启用自动创建拉取请求 |
PULL_REQUEST_PREFIX | 否 | "NOISSUE: convert archetype descriptor to helm values" | 拉取请求标题前缀 |
PULL_REQUEST_BRANCH_PREFIX | 否 | "NOISSEUE/convert-helm-values" | 拉取请求分支名称前缀 |
PULL_REQUEST_DESTINATION_BRANCH | 否 | 拉取请求目标分支(未提供则使用仓库默认分支) |
Helm仓库认证需Artifactory凭据,可通过atlassian/artifactory-sidekick:v1镜像获取,该镜像会导出以下环境变量:
ARTIFACTORY_USERNAMEARTIFACTORY_PASSWORD若需使用Bitbucket进行Git操作,需提供具有相应权限的仓库访问令牌,并配置到GIT_PASSWORD变量中。创建步骤如下:
GIT_PASSWORD变量GIT_EMAIL变量x-token-auth,可使用默认值GIT_USERNAME注意:Bitbucket访问令牌用户名为固定值
x-token-auth,因此GIT_USERNAME可使用默认值。
配置仓库变量:
GIT_PASSWORD并粘贴访问令牌(设为保密)GIT_EMAIL并粘贴创建令牌时使用的邮箱在bitbucket-pipelines.yml文件中使用该镜像的示例配置如下:
pipelines: custom: convert-helm-values: - step: name: 转换Helm值 script: - pipe: atlassian/artifactory-sidekick:v1 # 必须先运行此步骤以准备Artifactory认证 - source .artifactory/activate.sh - pipe: docker://atlassian/convert-helm-values:latest variables: CONFIG: 'convert-helm-values.yaml' SERVICE_DESCRIPTOR: 'path/to/service-descriptor.yaml' # 可选,仅单体应用需配置(需先将服务描述符转换为原型描述符) ARTIFACTORY_USERNAME: ${ARTIFACTORY_USERNAME} # Helm仓库认证必填,由artifactory-sidekick导出 ARTIFACTORY_PASSWORD: ${ARTIFACTORY_PASSWORD} # Helm仓库认证必填,由artifactory-sidekick导出 DEBUG_MODE: 'true' # 可选,设为true启用调试模式 GIT_ENABLED: 'true' # 可选,设为true启用Git提交操作 GIT_EMAIL: ${GIT_EMAIL} # 可选,在仓库变量中配置Git邮箱 GIT_USERNAME: ${GIT_USERNAME} # 可选,在仓库变量中配置Git用户名 GIT_PASSWORD: ${GIT_PASSWORD} # 可选,在仓库变量中配置Git访问令牌 PULL_REQUEST_ENABLED: 'true' # 可选,设为true启用自动创建拉取请求
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429