2.10. 为独立版本准备 GitOps ZTP 站点配置存储库
您可以使用 GitOps ZTP 管理运行不同版本的 OpenShift Container Platform 的受管集群的源自定义资源(CR)。这意味着,在 hub 集群中运行的 OpenShift Container Platform 版本可以独立于受管集群上运行的版本。
以下流程假设您使用 PolicyGenerator 资源而不是 PolicyGentemplate 资源进行集群策略管理。
先决条件
-
已安装 OpenShift CLI(
oc)。 -
您已以具有
cluster-admin权限的用户身份登录。
流程
-
使用
SiteConfig和PolicyGeneratorCR 的单独路径创建一个目录结构。 在
PolicyGenerator目录中,为您要提供的每个 OpenShift Container Platform 版本创建一个目录。对于每个版本,创建以下资源:-
明确包含该目录中文件的
kustomization.yaml文件 source-crs目录,其中包含ztp-site-generate容器中的引用 CR 配置文件如果要使用用户提供的 CR,必须为它们创建一个单独的目录。
-
明确包含该目录中文件的
在
/siteconfig目录中,为您要提供的每个 OpenShift Container Platform 版本创建一个子目录。对于每个版本,至少创建一个目录,用于从容器中复制引用 CR。对目录命名或引用目录数量没有限制。如果要使用自定义清单,必须为它们创建单独的目录。以下示例描述了对不同 OpenShift Container Platform 版本使用用户提供的清单和 CR 的结构:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 创建顶级
kustomizationYAML 文件。 - 2 7
- 在自定义
/acmpolicygenerator目录中创建特定于版本的目录。 - 3 8
- 为每个版本创建一个
kustomization.yaml文件。 - 4 9
- 为每个版本创建一个
source-crs目录,使其包含ztp-site-generate容器中的引用 CR。 - 5 10
- 为从 ZTP 容器中提取的策略 CR 创建
reference-crs目录。 - 6 11
- 可选:为用户提供的 CR 创建一个
custom-crs目录。 - 12 14
- 在自定义
/siteconfig目录中创建一个目录,使其包含ztp-site-generate容器的额外清单。 - 13 15
- 创建用于存放用户提供的清单的文件夹。
注意在上例中,自定义
/siteconfig目录中的每个版本子目录包含两个进一步的子目录,一个子目录包含从容器中复制的引用清单,另一个用于您提供的自定义清单。分配给这些目录的名称是示例。如果使用用户提供的 CR,则SiteConfigCR 中的extraManifests.searchPaths下列出的最后一个目录必须是包含用户提供的 CR 的目录。编辑
SiteConfigCR,使其包含您创建的任何目录的搜索路径。extraManifests.searchPaths下列出的第一个目录必须是包含引用清单的目录。考虑列出目录的顺序。如果目录包含相同名称的文件,则最终目录中的文件将具有优先权。SiteConfig CR 示例
extraManifests: searchPaths: - extra-manifest/ - custom-manifest/extraManifests: searchPaths: - extra-manifest/1 - custom-manifest/2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑顶级
kustomization.yaml文件,以控制哪些 OpenShift Container Platform 版本处于活跃状态。以下是顶层的kustomization.yaml文件示例:resources: - version_4.13 #- version_4.14
resources: - version_4.131 #- version_4.142 Copy to Clipboard Copied! Toggle word wrap Toggle overflow