第 3 章 自定义 config.yaml 文件
在集成外部产品和服务前自定义 config.yaml
文件,以便在安装过程中保留您的集成设置。
先决条件
- 您可以访问 OpenShift Web 控制台。
- 您计划至少集成一个外部产品或服务(如 RHACS 或 Quay)。
(可选)用于软件目录存储库 URL。RHADS - SSC 提供软件模板目录,供开发人员构建应用程序。要自定义这些模板,请在安装前分叉存储库。
- 在您的浏览器中,前往 RHADS - SSC 软件目录存储库。
点 Fork 对存储库进行分叉。
-
取消选中标有 Copy the
main
分支的框。
-
取消选中标有 Copy the
-
创建 fork 时,复制其 URL 并将其保存到
private.env
文件中。 - 在 fork 存储库中,单击 main 以打开分支/标签下拉菜单。
在标签下,选择与您的 RHADS - SSC 版本匹配的版本。
注意定期更新您的分叉,使其包含来自上游存储库的更改。
流程
- 在 OpenShift 控制台中,切换到 Administrator 视角。
- 进入 Workloads > ConfigMaps。
- 从 Project 下拉列表中,选择 RHADS - SSC。
-
打开
tssc-config
ConfigMap。 选择 YAML 视图并导航到定义
config.yaml
参数的位置。注意为了避免在集群中已存在重新安装 operator 订阅,请设置
manageSubscription
:false
。-
manageSubscription
:true
(默认):安装程序管理和安装所有所需的 operator 订阅。 -
manageSubscription
:false
:安装程序跳过安装所需的 operator 订阅。 - 确保现有的运算符 与 RHADS - SSC 兼容。不兼容的版本可能会导致安装失败。
-
config.yaml
文件的结构
config.yaml
文件的结构在带有这些关键属性的主 tssc
对象下:
-
命名空间
:定义默认的安装命名空间(通常是tssc
),充当主要操作区域。 -
设置
:控制全局部署设置和属性。 -
产品
:列出部署的产品和功能,各自通过具有关联属性的唯一名称来标识。 -
dependencies
:指定安装程序按配置文件中定义的顺序部署的依赖项。
自定义 tssc.products
部分
要使用自定义软件目录,请设置
catalogURL
:developerHub: properties: catalogURL: https://github.com/<your-org>/tssc-sample-templates/blob/release-v1.6.x/all.yaml
developerHub: properties: catalogURL: https://github.com/<your-org>/tssc-sample-templates/blob/release-v1.6.x/all.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要禁用外部集成的组件的自动安装:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果没有在
config.yaml
中正确反映外部集成,安装程序将部署默认组件。更新该文件,以防止意外的调配。为 Developer Hub 启用基于角色的访问控制(RBAC):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您没有定义
adminUsers
或orgs
,安装程序将默认使用集成期间指定的 GitHub 凭证。要使用自定义命名空间前缀而不是默认的命名空间,请配置
namespacePrefixes
属性。默认情况下,RHADS - SSC 在安装过程中创建以下命名空间:-
tssc-app-ci
:用于持续集成管道工作负载 tssc-app-development
,tssc-app-stage
, 和tssc-app-prod
: 用于开发、暂存和生产部署您可以自定义这些命名空间的前缀,并定义其他集合。例如:
developerHub: namespacePrefixes: - my_prefix1 # This generates the following namespaces: `my_prefix1-app-ci`, `my_prefix1-app-development`, `my_prefix1-app-stage`, `my_prefix1-app-prod` - my_prefix2 # This generates the following namespaces: `my_prefix2-app-ci`, `my_prefix2-app-development`, `my_prefix2-app-stage`, `my_prefix2-app-prod`
developerHub: namespacePrefixes: - my_prefix1 # This generates the following namespaces: `my_prefix1-app-ci`, `my_prefix1-app-development`, `my_prefix1-app-stage`, `my_prefix1-app-prod` - my_prefix2 # This generates the following namespaces: `my_prefix2-app-ci`, `my_prefix2-app-development`, `my_prefix2-app-stage`, `my_prefix2-app-prod`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
- 完成所有必要的更改后,选择 Save。