3.5. 对 Git 存储库进行所需的更改
当将 ztp-site-generate
容器从较早版本的 GitOps Zero Touch Provisioning (ZTP) 升级到 v4.10 或更高版本时,Git 仓库的内容需要额外的要求。存储库中的现有内容必须更新,以反映这些更改。
以下流程假设您使用 PolicyGenerator
资源而不是 PolicyGentemplate
资源进行集群策略管理。
对
PolicyGenerator
文件进行必要的更改:所有
PolicyGenerator
文件都必须在带有ztp
前缀的命名空间
中创建。这样可确保 GitOps ZTP 应用程序能够管理由 GitOps ZTP 生成的策略 CR,而无需与 Red Hat Advanced Cluster Management (RHACM) 在内部管理策略冲突。将
kustomization.yaml
文件添加到存储库中:所有
SiteConfig
和PolicyGenerator
CR 必须包含在其各自目录树下的kustomization.yaml
文件中。例如:├── acmpolicygenerator │ ├── site1-ns.yaml │ ├── site1.yaml │ ├── site2-ns.yaml │ ├── site2.yaml │ ├── common-ns.yaml │ ├── common-ranGen.yaml │ ├── group-du-sno-ranGen-ns.yaml │ ├── group-du-sno-ranGen.yaml │ └── kustomization.yaml └── siteconfig ├── site1.yaml ├── site2.yaml └── kustomization.yaml
注意generator
部分中列出的文件只能包含SiteConfig
或{policy-gen-cr}
CR。如果现有 YAML 文件包含其他 CR,如Namespace
,则这些其他 CR 必须拉取到单独的文件中,并在resources
部分列出。PolicyGenerator
kustomization 文件需要包括在generator
部分中的所有PolicyGenerator
YAML 文件,以及resources
部分中的Namespace
CR。例如:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: - acm-common-ranGen.yaml - acm-group-du-sno-ranGen.yaml - site1.yaml - site2.yaml resources: - common-ns.yaml - acm-group-du-sno-ranGen-ns.yaml - site1-ns.yaml - site2-ns.yaml
SiteConfig
kustomization 文件必须包括generator
部分中的所有SiteConfig
YAML 文件,以及资源中的任何其他 CR:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: - site1.yaml - site2.yaml
删除
pre-sync.yaml
和post-sync.yaml
文件。在 OpenShift Container Platform 4.10 及更新的版本中,不再需要
pre-sync.yaml
和post-sync.yaml
文件。update/deployment/kustomization.yaml
CR 管理 hub 集群上的策略部署。注意在
SiteConfig
和{policy-gen-cr}
树下都有一组pre-sync.yaml
和post-sync.yaml
文件。检查并纳入推荐的更改
每个发行版本可能会包括对应用到已部署集群的配置进行额外的推荐更改。通常,这些更改由 OpenShift 平台、额外功能或改进对平台的调整带来较低的 CPU 使用。
查看适用于您网络中的集群类型的参考
SiteConfig
和PolicyGenerator
CR。这些示例可在从 GitOps ZTP 容器中提取的argocd/example
目录中找到。