|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
CAPI 提供程序
CAPIProvider 资源允许以声明式方式管理集群 API 操作员清单。它用于部署和配置 CAPI 提供程序,如 AWS、vSphere 等。
CAPIProvider 遵循 GitOps 模型 - 规格字段是声明式用户输入。控制器仅更新状态。
上游 CAPI 操作员 CAPIProviderSpec 资源提供的每个字段在 CAPIProvider 资源的规格中也可用。请随时参考上游配置 指南 以获取高级场景。
所有 certified CAPI 提供程序均使用嵌入式配置进行配置。为了覆盖它,需要创建一个自定义 ClusterctlConfig。
用法
要使用 CAPIProvider 资源:
-
创建一个具有所需提供程序名称、类型、凭据、配置和功能的
CAPIProvider资源。 -
CAPIProvider控制器将根据CAPIProvider规格生成所需的集群 API 操作员清单模板。 -
CAPIProvider资源上的状态字段将反映生成的清单的状态。 -
以声明式方式管理
CAPIProvider对象,以对生成的提供程序清单应用更改。
这是一个示例 CAPIProvider 清单:
apiVersion: turtles-capi.cattle.io/v1alpha1
kind: CAPIProvider
metadata:
name: aws-infra
namespace: capi-providers
spec:
name: aws
type: infrastructure
enableAutomaticUpdate: true
credentials:
rancherCloudCredential: aws-creds # Rancher credentials secret for AWS
configSecret:
name: aws-config
features:
clusterResourceSet: true
这将生成一个 AWS 基础设施提供程序,并提供 Rancher 凭据密钥和自定义启用功能的映射。
CAPIProvider 控制器将拥有所有生成的提供程序资源,允许通过删除 CAPIProvider 对象进行垃圾回收。
明细单
CAPIProvider 规格中的关键字段是:
-
name- 提供程序的名称(aws、vsphere 等)。如果未指定,则从metadata.name继承。 -
type- 提供程序资源的类型(可以设置为core、controlPlane、bootstrap、infrastructure、addon、ipam或runtimeextension)。 -
credentials- 提供程序规范的源凭证。 -
configSecret- 提供程序配置密钥的名称,变量和同步凭证将存储在此处。默认情况下,如果未指定,将继承CAPIProvider资源的名称。 -
features- 启用的提供程序功能。 -
variables- 变量是要添加到configSecret内容中的环境变量映射。 -
version- 版本指示提供程序的版本。 -
enableAutomaticUpdate- 允许提供程序自动更新。仅在安装了 Turtles 图表的提供程序上默认启用。 -
fetchConfig- FetchConfig 决定操作员将如何获取提供程序的组件和元数据。-
oci- OCI 用于从 OCI 工件中获取提供程序的组件和元数据。您必须设置providerSpec.Version字段,以便操作员从 GitHub 中选择所需版本的发布。如果 providerSpec.Version 缺失,将使用 clusterctl 默认的最新提供程序版本。 -
selector- 用于从存储在集群中的 ConfigMaps 中获取提供程序组件和元数据的选择器。每个 ConfigMap 预计仅包含特定版本的组件和元数据。 -
url- 用于从远程 Github 储存库获取提供程序组件和元数据的 URL。
-
版本固定和自动更新
CAPIProvider version 可以随时设置,以将提供程序固定到特定版本。此外,可以切换 automaticUpdates 以允许自动更新到最新可用版本。最新可用版本由嵌入的 clusterctl 配置确定,适用于 certified 提供程序;对于自定义提供程序,可以通过 ClusterctlConfig 覆盖或配置。