第 6 章 部署应用程序并查看安全见解
组织利用结构化方式进行应用部署,通常涉及开发、预生产环境和生产阶段。此过程通常由定义的规则和触发器自动执行和管理。
本指南概述了通过 OpenShift GitOps 中的 ArgoCD 部署应用程序,可在所有阶段持续部署。ArgoCD 有助于基于 GitOps 的部署策略,将 Git 存储库视为基础架构配置的真实单一来源。此存储库的更新会触发跨环境的部署。
本指南显示了一个示例部署方法;机构可能会采用适合其工作流的任何方法。
6.1. 将构建提升到预生产环境或生产环境 复制链接链接已复制到粘贴板!
将构建从一个环境提升到另一个环境(如从开发到阶段或生产)涉及通过拉取请求(PR)更新 GitOps 存储库。
- 在 RHDH 平台上,选择 Catalog。
- 从 Kind 下拉列表中,选择 Resource,然后选择适当的 GitOps 存储库。
- 在 Overview 选项卡上,选择 View Source。
(可选) 另外,选择 Catalog,然后在 Overview 选项卡中选择 View TechDocs
- 在 Home > Repository 部分中,选择 GitOps 存储库。
克隆 GitOps 存储库,再进入
component/<app-name>目录。注意确保本地克隆为最新版本。
- 签出新分支。
-
在存储库中,找到
component/<app-name>/overlays目录,在其中找到开发、stage和prod子目录,各自对应于一个环境。 手动将应用程序从开发环境迁移到阶段或生产环境。
Expand 移动应用程序 执行此操作 从开发到暂存环境
-
展开
development目录,再选择deployment-patch.yaml。 - 复制容器镜像 URL。例如: quay.io/<username>/<app-name>/imageurl。
-
进入
stage目录,选择deployment-patch.yaml,并将现有的容器镜像 URL 替换为复制的镜像。
注意如果要提升其他配置更改(例如,副本)以及从开发到暂存环境的容器镜像,请复制位于
development目录中的deployment-patch.yaml文件中的更改,并将它们粘贴到stage目录中的deployment-patch.yaml文件中。从阶段到生产环境
-
展开
stage目录并选择deployment-patch.yaml。 - 复制容器镜像 URL。例如: quay.io/<username>/<app-name>/imageurl。
-
进入
prod目录,选择deployment-patch.yaml,并将现有的容器镜像 URL 替换为复制的镜像。
注意如果要提升其他配置更改(例如,副本)以及从阶段到生产环境的容器镜像,请从
stage目录中的deployment-patch.yaml文件复制更改,并将它们粘贴到prod目录中的deployment-patch.yaml文件中。-
展开
- 提交并推送您的更新。
创建拉取请求(PR)。此操作启动一个提升管道运行,针对 Red Hat Enterprise Contract (Enterprise Contract)策略验证更新的容器镜像。管道运行可视化表示所有任务,绿色 状态表示成功完成。
- 查看 RHDH 中的 CI 选项卡中的提升管道。
检查并合并 PR。合并 PR 触发 ArgoCD,然后自动应用必要的更改来将构建提升到下一个环境。
- 查看 RHDH 中的 CD 选项卡中的最新部署更新。它显示应用程序的当前状态、部署详情、管道运行的作者、提交消息(如 Promote stage to prod)以及容器镜像高级到生产环境。
验证
- 要评估应用程序的成功提升,请进入 Topology 选项卡。您可以在指定的命名空间中查看应用的分发。