2.3.5. 场景和示例
在 Docker、Kubernetes 和 OpenShift Container Platform 生态系统中定义了新的应用程序工件组件,本节介绍了如何使用 OpenShift Container Platform 提供的机制和工具在环境之间提升这些组件。
镜像是组成应用程序的组件的主要工件。采用该内部环境并将其扩展至应用程序提升、核心、基本应用程序提升模式是映像提升,其中工作单元是镜像。大多数应用程序促销方案通过提升管道管理和传播镜像。
仅仅通过管道管理和传播镜像的简单场景。随着推广方案的范围广泛,其他应用程序工件(特别是 API 对象)都包含在通过管道进行管理和传播的项目清单中。
本主题介绍了一些有关使用手动和自动化方法来提升镜像以及 API 对象的特定示例。但请注意以下设置应用程序提升管道的环境。
2.3.5.1. 为提升设置
完成应用程序初始修订的开发后,下一步是打包应用程序的内容,以便您可以转移到提升管道的后续暂存环境。
首先,将您查看的所有 API 对象作为传输进行分组,并为它们应用通用
标签
:labels: promotion-group: <application_name>
如前文所述,
oc label
命令协助使用各种 API 对象管理标签。提示如果您最初在 OpenShift Container Platform 模板中定义 API 对象,您可以轻松确保所有相关对象在导出以准备提升时用于查询。
您可以在后续查询中使用该标签。例如,请考虑以下一组
oc
命令调用,然后达到应用程序的 API 对象的传输:$ oc login <source_environment> $ oc project <source_project> $ oc get -o yaml --export dc,is,svc,route,secret,sa -l promotion-group=<application_name> > export.yaml $ oc login <target_environment> $ oc new-project <target_project> 1 $ oc create -f export.yaml
- 1
- 或者,如果已存在则为
oc project <target_project>
。
注意在
oc get --export
命令中,无论您是否包含镜像流的is
类型都取决于您如何选择在管道中不同环境中管理镜像、镜像流和 registry。下文将讨论有关此问题的注意事项。另请参阅 管理镜像 主题。您还必须获取针对提升管道中不同暂存环境中使用的每个 registry 操作所需的令牌。对于每个环境:
登录到环境:
$ oc login <each_environment_with_a_unique_registry>
使用以下命令获取访问令牌:
$ oc whoami -t
- 复制并粘贴令牌值供以后使用。