你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Bicep 资源定义
可以使用目标操作部署 fluxConfigurations 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.KubernetesConfiguration/fluxConfigurations 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.KubernetesConfiguration/fluxConfigurations@2025-04-01' = {
scope: resourceSymbolicName or scope
name: 'string'
properties: {
azureBlob: {
accountKey: 'string'
containerName: 'string'
localAuthRef: 'string'
managedIdentity: {
clientId: 'string'
}
sasToken: 'string'
servicePrincipal: {
clientCertificate: 'string'
clientCertificatePassword: 'string'
clientCertificateSendChain: bool
clientId: 'string'
clientSecret: 'string'
tenantId: 'string'
}
syncIntervalInSeconds: int
timeoutInSeconds: int
url: 'string'
}
bucket: {
accessKey: 'string'
bucketName: 'string'
insecure: bool
localAuthRef: 'string'
syncIntervalInSeconds: int
timeoutInSeconds: int
url: 'string'
}
configurationProtectedSettings: {
{customized property}: 'string'
}
gitRepository: {
httpsCACert: 'string'
httpsUser: 'string'
localAuthRef: 'string'
provider: 'string'
repositoryRef: {
branch: 'string'
commit: 'string'
semver: 'string'
tag: 'string'
}
sshKnownHosts: 'string'
syncIntervalInSeconds: int
timeoutInSeconds: int
url: 'string'
}
kustomizations: {
{customized property}: {
dependsOn: [
'string'
]
force: bool
path: 'string'
postBuild: {
substitute: {
{customized property}: 'string'
}
substituteFrom: [
{
kind: 'string'
name: 'string'
optional: bool
}
]
}
prune: bool
retryIntervalInSeconds: int
syncIntervalInSeconds: int
timeoutInSeconds: int
wait: bool
}
}
namespace: 'string'
ociRepository: {
insecure: bool
layerSelector: {
mediaType: 'string'
operation: 'string'
}
localAuthRef: 'string'
repositoryRef: {
digest: 'string'
semver: 'string'
tag: 'string'
}
serviceAccountName: 'string'
syncIntervalInSeconds: int
timeoutInSeconds: int
tlsConfig: {
caCertificate: 'string'
clientCertificate: 'string'
privateKey: 'string'
}
url: 'string'
useWorkloadIdentity: bool
verify: {
matchOidcIdentity: [
{
issuer: 'string'
subject: 'string'
}
]
provider: 'string'
verificationConfig: {
{customized property}: 'string'
}
}
}
reconciliationWaitDuration: 'string'
scope: 'string'
sourceKind: 'string'
suspend: bool
waitForReconciliation: bool
}
}
属性值
Microsoft.KubernetesConfiguration/fluxConfigurations
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 姓名 | 资源名称 | string (必需) |
| 属性 | 用于创建 Flux 配置资源的属性 | FluxConfigurationProperties |
| 作用域 | 在与部署范围不同的范围内创建资源时使用。 | 将此属性设置为资源的符号名称,以应用 扩展资源。 |
AzureBlobDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| accountKey 账户密钥 | 用于访问存储帐户的帐户密钥(共享密钥) | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 容器名称 | 要从 flux 配置的 URL 终结点同步的 Azure Blob 容器名称。 | 字符串 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| managedIdentity | 使用托管标识进行身份验证的参数。 | ManagedIdentity定义 |
| sasToken 代币 | 用于访问存储容器的共享访问令牌 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| servicePrincipal 服务 | 使用服务主体进行身份验证的参数。 | ServicePrincipalDefinition |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集 Azure Blob 源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集 Azure Blob 源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 Flux 配置 Azure Blob 存储帐户的 URL。 | 字符串 |
BucketDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 访问密钥 | 用于安全访问 S3 存储桶的纯文本访问密钥 | 字符串 |
| bucketName (存储桶名称) | 要从 flux 配置的 URL 终结点同步的存储桶名称。 | 字符串 |
| 不安全的 | 指定在从 S3 存储桶中将数据扑出时是否使用不安全的通信。 | 布尔 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集存储桶源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集存储桶源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 flux 配置 S3 存储桶的 URL。 | 字符串 |
FluxConfigurationProperties
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| azureBlob | 要协调到 AzureBlob 源类型的参数。 | AzureBlobDefinition |
| Bucket | 要协调到 Bucket 源类型的参数。 | BucketDefinition |
| configurationProtectedSettings (配置保护设置) | 配置的受保护配置设置的键值对 | FluxConfigurationPropertiesConfigurationProtectedSettings |
| git存储库 | 用于协调到 GitRepository 源类型的参数。 | GitRepository定义 |
| Kustomizations | 用于协调群集上源类型拉取的项目的 kustomization 数组。 | FluxConfigurationPropertiesKustomizations |
| 命名空间 | 此配置安装到的命名空间。 最多 253 个小写字母数字字符、连字符和句点。 | 字符串 |
| oci存储库 | 要与 OCIRepository 源类型进行协调的参数。 | OCIRepositoryDefinition |
| reconciliationWaitDuration | 等待 flux 配置对帐的最长持续时间。 例如 PT1H、PT5M、P1D | 字符串 |
| 作用域 | 将安装操作员的范围。 | “cluster” “namespace” |
| sourceKind | 要从中提取配置数据的源类型。 | “AzureBlob” “Bucket” “GitRepository” 'OCIRepository' |
| 取消访问权限 | 此配置是否应暂停其 kustomization 和源的对帐。 | 布尔 |
| waitForReconciliation (等待对账) | flux 配置部署是否应等待 cluster 协调 kustomization。 | 布尔 |
FluxConfigurationPropertiesConfigurationProtectedSettings
| 名称 | DESCRIPTION | 价值 |
|---|
FluxConfigurationPropertiesKustomizations
| 名称 | DESCRIPTION | 价值 |
|---|
GitRepository定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| httpsCACert | 用于通过 HTTPS 访问 git 专用 git 存储库的 Base64 编码 HTTPS 证书颁发机构内容 | 字符串 |
| https用户 | 用于通过 HTTPS 访问专用 git 存储库的纯文本 HTTPS 用户名 | 字符串 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| 提供商 | 用于身份验证的提供程序的名称。 | “Azure” “通用” “GitHub” |
| repositoryRef | GitRepository 对象的源引用。 | RepositoryRefDefinition |
| sshKnownHosts | Base64 编码known_hosts值,其中包含通过 SSH 访问专用 git 存储库所需的公钥 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集 git 存储库源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集 git 存储库源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 flux 配置 git 存储库的 URL。 | 字符串 |
Kustomization定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| dependsOn | 指定此 Kustomization 依赖的其他 Kustomization。 在完成其对帐之前,此 Kustomization 不会协调。 | 字符串[] |
| 力 | 由于不可变字段更改,修补失败时,启用/禁用在群集上重新创建 Kubernetes 资源。 | 布尔 |
| 路径 | 要在群集上协调的源引用中的路径。 | 字符串 |
| 后构建 | 用于在 kustomize 生成后对此 Kustomization 的变量替换。 | PostBuild定义 |
| 删除 | 启用/禁用此 Kustomization 创建的 Kubernetes 对象的垃圾回收。 | 布尔 |
| retryIntervalInSeconds | 在对帐失败时重新协调群集上的 Kustomization 的间隔。 | 整数 (int) |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集上的 Kustomization 的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试协调群集上的 Kustomization 的最长时间。 | 整数 (int) |
| 等 | 为此 Kustomization 创建的所有 Kubernetes 对象启用/禁用运行状况检查。 | 布尔 |
LayerSelector定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| mediaType | 将使用与指定媒体类型匹配的第一个图层。 | 字符串 |
| 操作 | 要对选定图层执行的作。 默认值为 'extract',但可以设置为 'copy'。 | '复制' '提取' |
ManagedIdentity定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 客户端 ID | 用于对托管标识进行身份验证的客户端 ID。 | 字符串 |
MatchOidcIdentityDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 发行人 | 用于验证 OIDC 颁发者时要匹配的正则表达式模式。 | 字符串 |
| 主题 | 用于验证身份使用者的匹配正则表达式模式。 | 字符串 |
OCIRepositoryDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 不安全的 | 指定是否允许连接到非 TLS HTTP 容器注册表。 | 布尔 |
| layerSelector | 要从 OCI 对象中提取的层。 | LayerSelector定义 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| repositoryRef | OCIRepository 对象的源引用。 | OCIRepositoryRefDefinition |
| serviceAccountName (服务帐户名称) | 要向 OCI 资料档案库验证的服务帐户名称。 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调集群 OCI 资料档案库源与远程数据库的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将集群 OCI 资料档案库源与远程数据库进行协调的最长时间。 | 整数 (int) |
| tls配置 | 使用 OCI 资料档案库的 TLS 配置进行验证的参数。 | TlsConfig定义 |
| 网址 | 要为 flux 配置 OCI 资料档案库同步的 URL。 | 字符串 |
| useWorkloadIdentity | 指定是否使用工作负载身份对 OCI 资料档案库进行验证。 | 布尔 |
| 验证 | 验证 OCI 对象的真实性。 | 验证定义 |
OCIRepositoryRefDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 摘要 | 要从 OCI 资料档案库中提取的映像摘要,该值应采用“sha256:”格式。 这优先于 semver。 | 字符串 |
| SemVer | 用于与 OCI 资料档案库标记匹配的 semver 范围。 这优先于标记。 | 字符串 |
| 标签 | 要提取的 OCI 资料档案库映像标记名称。 默认为 'latest'。 | 字符串 |
PostBuild定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 替代 | 键/值对保存要在此 Kustomization 中替换的变量。 | PostBuildDefinitionSubstitute 的 |
| substituteFrom | ConfigMap/Secrets 的数组,其中的变量被替换为此 Kustomization。 | SubstituteFromDefinition[] |
PostBuildDefinitionSubstitute 的
| 名称 | DESCRIPTION | 价值 |
|---|
RepositoryRefDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| branch | 要签出的 git 存储库分支名称。 | 字符串 |
| 提交 | 要签出的提交 SHA。 此值必须与分支名称结合使用才能有效。 这优先于 semver。 | 字符串 |
| SemVer | 用于与 git 存储库标记匹配的 semver 范围。 这优先于标记。 | 字符串 |
| 标签 | 要签出的 git 存储库标记名称。 这优先于分支。 | 字符串 |
ServicePrincipalDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| clientCertificate | 用于对服务主体进行身份验证的 Base64 编码证书 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| clientCertificatePassword | 用于对服务主体进行身份验证的证书的密码 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 客户端证书发送链 | 指定在获取令牌以启用客户端证书的基于使用者名称/颁发者的身份验证时,是否在客户端声明中包括 x5c 标头 | 布尔 |
| 客户端 ID | 用于对服务主体进行身份验证的客户端 ID。 | 字符串 |
| 客户密钥 | 用于对服务主体进行身份验证的客户端密码 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 租户ID | 用于对服务主体进行身份验证的租户 ID | 字符串 |
SubstituteFrom定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 类 | 定义是 ConfigMap 还是 Secret 来保存要用于替换的变量。 | 字符串 |
| 姓名 | 保存要用于替换的变量的 ConfigMap/Secret 的名称。 | 字符串 |
| 可选 | 设置为 True 将在 ConfigMap/Secret 不存在的情况下继续。 | 布尔 |
TlsConfig定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| ca证书 | 用于验证服务器的 Base64 编码的 CA 证书。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| clientCertificate | Base64 编码的证书,用于通过 OCI 资料档案库验证客户端。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 私钥 | Base64 编码的专用密钥,用于通过 OCI 资料档案库验证客户端。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
验证定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 匹配 OIDCIdentity | 定义在验证 OCI 对象时匹配身份的条件的数组。 | MatchOidcIdentityDefinition[] |
| 提供商 | 验证提供商名称。 | 字符串 |
| verificationConfig | 包含受信任作者的受信任公有密钥的对象。 | 验证定义验证配置 |
验证定义验证配置
| 名称 | DESCRIPTION | 价值 |
|---|
用法示例
Azure 验证模块
以下 Azure 验证模块 可用于部署此资源类型。
| 模块 | DESCRIPTION |
|---|---|
| Kubernetes 配置 Flux 配置 | 用于 Kubernetes 配置 Flux 配置的 AVM 资源模块 |
ARM 模板资源定义
可以使用目标操作部署 fluxConfigurations 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.KubernetesConfiguration/fluxConfigurations 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
"apiVersion": "2025-04-01",
"name": "string",
"properties": {
"azureBlob": {
"accountKey": "string",
"containerName": "string",
"localAuthRef": "string",
"managedIdentity": {
"clientId": "string"
},
"sasToken": "string",
"servicePrincipal": {
"clientCertificate": "string",
"clientCertificatePassword": "string",
"clientCertificateSendChain": "bool",
"clientId": "string",
"clientSecret": "string",
"tenantId": "string"
},
"syncIntervalInSeconds": "int",
"timeoutInSeconds": "int",
"url": "string"
},
"bucket": {
"accessKey": "string",
"bucketName": "string",
"insecure": "bool",
"localAuthRef": "string",
"syncIntervalInSeconds": "int",
"timeoutInSeconds": "int",
"url": "string"
},
"configurationProtectedSettings": {
"{customized property}": "string"
},
"gitRepository": {
"httpsCACert": "string",
"httpsUser": "string",
"localAuthRef": "string",
"provider": "string",
"repositoryRef": {
"branch": "string",
"commit": "string",
"semver": "string",
"tag": "string"
},
"sshKnownHosts": "string",
"syncIntervalInSeconds": "int",
"timeoutInSeconds": "int",
"url": "string"
},
"kustomizations": {
"{customized property}": {
"dependsOn": [ "string" ],
"force": "bool",
"path": "string",
"postBuild": {
"substitute": {
"{customized property}": "string"
},
"substituteFrom": [
{
"kind": "string",
"name": "string",
"optional": "bool"
}
]
},
"prune": "bool",
"retryIntervalInSeconds": "int",
"syncIntervalInSeconds": "int",
"timeoutInSeconds": "int",
"wait": "bool"
}
},
"namespace": "string",
"ociRepository": {
"insecure": "bool",
"layerSelector": {
"mediaType": "string",
"operation": "string"
},
"localAuthRef": "string",
"repositoryRef": {
"digest": "string",
"semver": "string",
"tag": "string"
},
"serviceAccountName": "string",
"syncIntervalInSeconds": "int",
"timeoutInSeconds": "int",
"tlsConfig": {
"caCertificate": "string",
"clientCertificate": "string",
"privateKey": "string"
},
"url": "string",
"useWorkloadIdentity": "bool",
"verify": {
"matchOidcIdentity": [
{
"issuer": "string",
"subject": "string"
}
],
"provider": "string",
"verificationConfig": {
"{customized property}": "string"
}
}
},
"reconciliationWaitDuration": "string",
"scope": "string",
"sourceKind": "string",
"suspend": "bool",
"waitForReconciliation": "bool"
}
}
属性值
Microsoft.KubernetesConfiguration/fluxConfigurations
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| apiVersion | API 版本 | '2025-04-01' |
| 姓名 | 资源名称 | string (必需) |
| 属性 | 用于创建 Flux 配置资源的属性 | FluxConfigurationProperties |
| 类型 | 资源类型 | “Microsoft.KubernetesConfiguration/fluxConfigurations” |
AzureBlobDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| accountKey 账户密钥 | 用于访问存储帐户的帐户密钥(共享密钥) | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 容器名称 | 要从 flux 配置的 URL 终结点同步的 Azure Blob 容器名称。 | 字符串 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| managedIdentity | 使用托管标识进行身份验证的参数。 | ManagedIdentity定义 |
| sasToken 代币 | 用于访问存储容器的共享访问令牌 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| servicePrincipal 服务 | 使用服务主体进行身份验证的参数。 | ServicePrincipalDefinition |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集 Azure Blob 源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集 Azure Blob 源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 Flux 配置 Azure Blob 存储帐户的 URL。 | 字符串 |
BucketDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 访问密钥 | 用于安全访问 S3 存储桶的纯文本访问密钥 | 字符串 |
| bucketName (存储桶名称) | 要从 flux 配置的 URL 终结点同步的存储桶名称。 | 字符串 |
| 不安全的 | 指定在从 S3 存储桶中将数据扑出时是否使用不安全的通信。 | 布尔 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集存储桶源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集存储桶源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 flux 配置 S3 存储桶的 URL。 | 字符串 |
FluxConfigurationProperties
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| azureBlob | 要协调到 AzureBlob 源类型的参数。 | AzureBlobDefinition |
| Bucket | 要协调到 Bucket 源类型的参数。 | BucketDefinition |
| configurationProtectedSettings (配置保护设置) | 配置的受保护配置设置的键值对 | FluxConfigurationPropertiesConfigurationProtectedSettings |
| git存储库 | 用于协调到 GitRepository 源类型的参数。 | GitRepository定义 |
| Kustomizations | 用于协调群集上源类型拉取的项目的 kustomization 数组。 | FluxConfigurationPropertiesKustomizations |
| 命名空间 | 此配置安装到的命名空间。 最多 253 个小写字母数字字符、连字符和句点。 | 字符串 |
| oci存储库 | 要与 OCIRepository 源类型进行协调的参数。 | OCIRepositoryDefinition |
| reconciliationWaitDuration | 等待 flux 配置对帐的最长持续时间。 例如 PT1H、PT5M、P1D | 字符串 |
| 作用域 | 将安装操作员的范围。 | “cluster” “namespace” |
| sourceKind | 要从中提取配置数据的源类型。 | “AzureBlob” “Bucket” “GitRepository” 'OCIRepository' |
| 取消访问权限 | 此配置是否应暂停其 kustomization 和源的对帐。 | 布尔 |
| waitForReconciliation (等待对账) | flux 配置部署是否应等待 cluster 协调 kustomization。 | 布尔 |
FluxConfigurationPropertiesConfigurationProtectedSettings
| 名称 | DESCRIPTION | 价值 |
|---|
FluxConfigurationPropertiesKustomizations
| 名称 | DESCRIPTION | 价值 |
|---|
GitRepository定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| httpsCACert | 用于通过 HTTPS 访问 git 专用 git 存储库的 Base64 编码 HTTPS 证书颁发机构内容 | 字符串 |
| https用户 | 用于通过 HTTPS 访问专用 git 存储库的纯文本 HTTPS 用户名 | 字符串 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| 提供商 | 用于身份验证的提供程序的名称。 | “Azure” “通用” “GitHub” |
| repositoryRef | GitRepository 对象的源引用。 | RepositoryRefDefinition |
| sshKnownHosts | Base64 编码known_hosts值,其中包含通过 SSH 访问专用 git 存储库所需的公钥 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集 git 存储库源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集 git 存储库源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 flux 配置 git 存储库的 URL。 | 字符串 |
Kustomization定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| dependsOn | 指定此 Kustomization 依赖的其他 Kustomization。 在完成其对帐之前,此 Kustomization 不会协调。 | 字符串[] |
| 力 | 由于不可变字段更改,修补失败时,启用/禁用在群集上重新创建 Kubernetes 资源。 | 布尔 |
| 路径 | 要在群集上协调的源引用中的路径。 | 字符串 |
| 后构建 | 用于在 kustomize 生成后对此 Kustomization 的变量替换。 | PostBuild定义 |
| 删除 | 启用/禁用此 Kustomization 创建的 Kubernetes 对象的垃圾回收。 | 布尔 |
| retryIntervalInSeconds | 在对帐失败时重新协调群集上的 Kustomization 的间隔。 | 整数 (int) |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集上的 Kustomization 的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试协调群集上的 Kustomization 的最长时间。 | 整数 (int) |
| 等 | 为此 Kustomization 创建的所有 Kubernetes 对象启用/禁用运行状况检查。 | 布尔 |
LayerSelector定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| mediaType | 将使用与指定媒体类型匹配的第一个图层。 | 字符串 |
| 操作 | 要对选定图层执行的作。 默认值为 'extract',但可以设置为 'copy'。 | '复制' '提取' |
ManagedIdentity定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 客户端 ID | 用于对托管标识进行身份验证的客户端 ID。 | 字符串 |
MatchOidcIdentityDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 发行人 | 用于验证 OIDC 颁发者时要匹配的正则表达式模式。 | 字符串 |
| 主题 | 用于验证身份使用者的匹配正则表达式模式。 | 字符串 |
OCIRepositoryDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 不安全的 | 指定是否允许连接到非 TLS HTTP 容器注册表。 | 布尔 |
| layerSelector | 要从 OCI 对象中提取的层。 | LayerSelector定义 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| repositoryRef | OCIRepository 对象的源引用。 | OCIRepositoryRefDefinition |
| serviceAccountName (服务帐户名称) | 要向 OCI 资料档案库验证的服务帐户名称。 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调集群 OCI 资料档案库源与远程数据库的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将集群 OCI 资料档案库源与远程数据库进行协调的最长时间。 | 整数 (int) |
| tls配置 | 使用 OCI 资料档案库的 TLS 配置进行验证的参数。 | TlsConfig定义 |
| 网址 | 要为 flux 配置 OCI 资料档案库同步的 URL。 | 字符串 |
| useWorkloadIdentity | 指定是否使用工作负载身份对 OCI 资料档案库进行验证。 | 布尔 |
| 验证 | 验证 OCI 对象的真实性。 | 验证定义 |
OCIRepositoryRefDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 摘要 | 要从 OCI 资料档案库中提取的映像摘要,该值应采用“sha256:”格式。 这优先于 semver。 | 字符串 |
| SemVer | 用于与 OCI 资料档案库标记匹配的 semver 范围。 这优先于标记。 | 字符串 |
| 标签 | 要提取的 OCI 资料档案库映像标记名称。 默认为 'latest'。 | 字符串 |
PostBuild定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 替代 | 键/值对保存要在此 Kustomization 中替换的变量。 | PostBuildDefinitionSubstitute 的 |
| substituteFrom | ConfigMap/Secrets 的数组,其中的变量被替换为此 Kustomization。 | SubstituteFromDefinition[] |
PostBuildDefinitionSubstitute 的
| 名称 | DESCRIPTION | 价值 |
|---|
RepositoryRefDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| branch | 要签出的 git 存储库分支名称。 | 字符串 |
| 提交 | 要签出的提交 SHA。 此值必须与分支名称结合使用才能有效。 这优先于 semver。 | 字符串 |
| SemVer | 用于与 git 存储库标记匹配的 semver 范围。 这优先于标记。 | 字符串 |
| 标签 | 要签出的 git 存储库标记名称。 这优先于分支。 | 字符串 |
ServicePrincipalDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| clientCertificate | 用于对服务主体进行身份验证的 Base64 编码证书 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| clientCertificatePassword | 用于对服务主体进行身份验证的证书的密码 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 客户端证书发送链 | 指定在获取令牌以启用客户端证书的基于使用者名称/颁发者的身份验证时,是否在客户端声明中包括 x5c 标头 | 布尔 |
| 客户端 ID | 用于对服务主体进行身份验证的客户端 ID。 | 字符串 |
| 客户密钥 | 用于对服务主体进行身份验证的客户端密码 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 租户ID | 用于对服务主体进行身份验证的租户 ID | 字符串 |
SubstituteFrom定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 类 | 定义是 ConfigMap 还是 Secret 来保存要用于替换的变量。 | 字符串 |
| 姓名 | 保存要用于替换的变量的 ConfigMap/Secret 的名称。 | 字符串 |
| 可选 | 设置为 True 将在 ConfigMap/Secret 不存在的情况下继续。 | 布尔 |
TlsConfig定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| ca证书 | 用于验证服务器的 Base64 编码的 CA 证书。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| clientCertificate | Base64 编码的证书,用于通过 OCI 资料档案库验证客户端。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 私钥 | Base64 编码的专用密钥,用于通过 OCI 资料档案库验证客户端。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
验证定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 匹配 OIDCIdentity | 定义在验证 OCI 对象时匹配身份的条件的数组。 | MatchOidcIdentityDefinition[] |
| 提供商 | 验证提供商名称。 | 字符串 |
| verificationConfig | 包含受信任作者的受信任公有密钥的对象。 | 验证定义验证配置 |
验证定义验证配置
| 名称 | DESCRIPTION | 价值 |
|---|
用法示例
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 fluxConfigurations 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.KubernetesConfiguration/fluxConfigurations 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.KubernetesConfiguration/fluxConfigurations@2025-04-01"
name = "string"
parent_id = "string"
body = {
properties = {
azureBlob = {
accountKey = "string"
containerName = "string"
localAuthRef = "string"
managedIdentity = {
clientId = "string"
}
sasToken = "string"
servicePrincipal = {
clientCertificate = "string"
clientCertificatePassword = "string"
clientCertificateSendChain = bool
clientId = "string"
clientSecret = "string"
tenantId = "string"
}
syncIntervalInSeconds = int
timeoutInSeconds = int
url = "string"
}
bucket = {
accessKey = "string"
bucketName = "string"
insecure = bool
localAuthRef = "string"
syncIntervalInSeconds = int
timeoutInSeconds = int
url = "string"
}
configurationProtectedSettings = {
{customized property} = "string"
}
gitRepository = {
httpsCACert = "string"
httpsUser = "string"
localAuthRef = "string"
provider = "string"
repositoryRef = {
branch = "string"
commit = "string"
semver = "string"
tag = "string"
}
sshKnownHosts = "string"
syncIntervalInSeconds = int
timeoutInSeconds = int
url = "string"
}
kustomizations = {
{customized property} = {
dependsOn = [
"string"
]
force = bool
path = "string"
postBuild = {
substitute = {
{customized property} = "string"
}
substituteFrom = [
{
kind = "string"
name = "string"
optional = bool
}
]
}
prune = bool
retryIntervalInSeconds = int
syncIntervalInSeconds = int
timeoutInSeconds = int
wait = bool
}
}
namespace = "string"
ociRepository = {
insecure = bool
layerSelector = {
mediaType = "string"
operation = "string"
}
localAuthRef = "string"
repositoryRef = {
digest = "string"
semver = "string"
tag = "string"
}
serviceAccountName = "string"
syncIntervalInSeconds = int
timeoutInSeconds = int
tlsConfig = {
caCertificate = "string"
clientCertificate = "string"
privateKey = "string"
}
url = "string"
useWorkloadIdentity = bool
verify = {
matchOidcIdentity = [
{
issuer = "string"
subject = "string"
}
]
provider = "string"
verificationConfig = {
{customized property} = "string"
}
}
}
reconciliationWaitDuration = "string"
scope = "string"
sourceKind = "string"
suspend = bool
waitForReconciliation = bool
}
}
}
属性值
Microsoft.KubernetesConfiguration/fluxConfigurations
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 姓名 | 资源名称 | string (必需) |
| parent_id | 要向其应用此扩展资源的资源的 ID。 | string (必需) |
| 属性 | 用于创建 Flux 配置资源的属性 | FluxConfigurationProperties |
| 类型 | 资源类型 | “Microsoft.KubernetesConfiguration/fluxConfigurations@2025-04-01” |
AzureBlobDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| accountKey 账户密钥 | 用于访问存储帐户的帐户密钥(共享密钥) | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 容器名称 | 要从 flux 配置的 URL 终结点同步的 Azure Blob 容器名称。 | 字符串 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| managedIdentity | 使用托管标识进行身份验证的参数。 | ManagedIdentity定义 |
| sasToken 代币 | 用于访问存储容器的共享访问令牌 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| servicePrincipal 服务 | 使用服务主体进行身份验证的参数。 | ServicePrincipalDefinition |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集 Azure Blob 源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集 Azure Blob 源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 Flux 配置 Azure Blob 存储帐户的 URL。 | 字符串 |
BucketDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 访问密钥 | 用于安全访问 S3 存储桶的纯文本访问密钥 | 字符串 |
| bucketName (存储桶名称) | 要从 flux 配置的 URL 终结点同步的存储桶名称。 | 字符串 |
| 不安全的 | 指定在从 S3 存储桶中将数据扑出时是否使用不安全的通信。 | 布尔 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集存储桶源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集存储桶源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 flux 配置 S3 存储桶的 URL。 | 字符串 |
FluxConfigurationProperties
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| azureBlob | 要协调到 AzureBlob 源类型的参数。 | AzureBlobDefinition |
| Bucket | 要协调到 Bucket 源类型的参数。 | BucketDefinition |
| configurationProtectedSettings (配置保护设置) | 配置的受保护配置设置的键值对 | FluxConfigurationPropertiesConfigurationProtectedSettings |
| git存储库 | 用于协调到 GitRepository 源类型的参数。 | GitRepository定义 |
| Kustomizations | 用于协调群集上源类型拉取的项目的 kustomization 数组。 | FluxConfigurationPropertiesKustomizations |
| 命名空间 | 此配置安装到的命名空间。 最多 253 个小写字母数字字符、连字符和句点。 | 字符串 |
| oci存储库 | 要与 OCIRepository 源类型进行协调的参数。 | OCIRepositoryDefinition |
| reconciliationWaitDuration | 等待 flux 配置对帐的最长持续时间。 例如 PT1H、PT5M、P1D | 字符串 |
| 作用域 | 将安装操作员的范围。 | “cluster” “namespace” |
| sourceKind | 要从中提取配置数据的源类型。 | “AzureBlob” “Bucket” “GitRepository” 'OCIRepository' |
| 取消访问权限 | 此配置是否应暂停其 kustomization 和源的对帐。 | 布尔 |
| waitForReconciliation (等待对账) | flux 配置部署是否应等待 cluster 协调 kustomization。 | 布尔 |
FluxConfigurationPropertiesConfigurationProtectedSettings
| 名称 | DESCRIPTION | 价值 |
|---|
FluxConfigurationPropertiesKustomizations
| 名称 | DESCRIPTION | 价值 |
|---|
GitRepository定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| httpsCACert | 用于通过 HTTPS 访问 git 专用 git 存储库的 Base64 编码 HTTPS 证书颁发机构内容 | 字符串 |
| https用户 | 用于通过 HTTPS 访问专用 git 存储库的纯文本 HTTPS 用户名 | 字符串 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| 提供商 | 用于身份验证的提供程序的名称。 | “Azure” “通用” “GitHub” |
| repositoryRef | GitRepository 对象的源引用。 | RepositoryRefDefinition |
| sshKnownHosts | Base64 编码known_hosts值,其中包含通过 SSH 访问专用 git 存储库所需的公钥 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集 git 存储库源与远程的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将群集 git 存储库源与远程协调的最长时间。 | 整数 (int) |
| 网址 | 要同步的 flux 配置 git 存储库的 URL。 | 字符串 |
Kustomization定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| dependsOn | 指定此 Kustomization 依赖的其他 Kustomization。 在完成其对帐之前,此 Kustomization 不会协调。 | 字符串[] |
| 力 | 由于不可变字段更改,修补失败时,启用/禁用在群集上重新创建 Kubernetes 资源。 | 布尔 |
| 路径 | 要在群集上协调的源引用中的路径。 | 字符串 |
| 后构建 | 用于在 kustomize 生成后对此 Kustomization 的变量替换。 | PostBuild定义 |
| 删除 | 启用/禁用此 Kustomization 创建的 Kubernetes 对象的垃圾回收。 | 布尔 |
| retryIntervalInSeconds | 在对帐失败时重新协调群集上的 Kustomization 的间隔。 | 整数 (int) |
| syncIntervalInSeconds (同步间隔秒) | 重新协调群集上的 Kustomization 的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试协调群集上的 Kustomization 的最长时间。 | 整数 (int) |
| 等 | 为此 Kustomization 创建的所有 Kubernetes 对象启用/禁用运行状况检查。 | 布尔 |
LayerSelector定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| mediaType | 将使用与指定媒体类型匹配的第一个图层。 | 字符串 |
| 操作 | 要对选定图层执行的作。 默认值为 'extract',但可以设置为 'copy'。 | '复制' '提取' |
ManagedIdentity定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 客户端 ID | 用于对托管标识进行身份验证的客户端 ID。 | 字符串 |
MatchOidcIdentityDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 发行人 | 用于验证 OIDC 颁发者时要匹配的正则表达式模式。 | 字符串 |
| 主题 | 用于验证身份使用者的匹配正则表达式模式。 | 字符串 |
OCIRepositoryDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 不安全的 | 指定是否允许连接到非 TLS HTTP 容器注册表。 | 布尔 |
| layerSelector | 要从 OCI 对象中提取的层。 | LayerSelector定义 |
| localAuthRef 的 | Kubernetes 群集上用作身份验证机密的本地机密的名称,而不是托管或用户提供的配置机密。 | 字符串 |
| repositoryRef | OCIRepository 对象的源引用。 | OCIRepositoryRefDefinition |
| serviceAccountName (服务帐户名称) | 要向 OCI 资料档案库验证的服务帐户名称。 | 字符串 |
| syncIntervalInSeconds (同步间隔秒) | 重新协调集群 OCI 资料档案库源与远程数据库的间隔。 | 整数 (int) |
| timeoutInSeconds | 尝试将集群 OCI 资料档案库源与远程数据库进行协调的最长时间。 | 整数 (int) |
| tls配置 | 使用 OCI 资料档案库的 TLS 配置进行验证的参数。 | TlsConfig定义 |
| 网址 | 要为 flux 配置 OCI 资料档案库同步的 URL。 | 字符串 |
| useWorkloadIdentity | 指定是否使用工作负载身份对 OCI 资料档案库进行验证。 | 布尔 |
| 验证 | 验证 OCI 对象的真实性。 | 验证定义 |
OCIRepositoryRefDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 摘要 | 要从 OCI 资料档案库中提取的映像摘要,该值应采用“sha256:”格式。 这优先于 semver。 | 字符串 |
| SemVer | 用于与 OCI 资料档案库标记匹配的 semver 范围。 这优先于标记。 | 字符串 |
| 标签 | 要提取的 OCI 资料档案库映像标记名称。 默认为 'latest'。 | 字符串 |
PostBuild定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 替代 | 键/值对保存要在此 Kustomization 中替换的变量。 | PostBuildDefinitionSubstitute 的 |
| substituteFrom | ConfigMap/Secrets 的数组,其中的变量被替换为此 Kustomization。 | SubstituteFromDefinition[] |
PostBuildDefinitionSubstitute 的
| 名称 | DESCRIPTION | 价值 |
|---|
RepositoryRefDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| branch | 要签出的 git 存储库分支名称。 | 字符串 |
| 提交 | 要签出的提交 SHA。 此值必须与分支名称结合使用才能有效。 这优先于 semver。 | 字符串 |
| SemVer | 用于与 git 存储库标记匹配的 semver 范围。 这优先于标记。 | 字符串 |
| 标签 | 要签出的 git 存储库标记名称。 这优先于分支。 | 字符串 |
ServicePrincipalDefinition
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| clientCertificate | 用于对服务主体进行身份验证的 Base64 编码证书 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| clientCertificatePassword | 用于对服务主体进行身份验证的证书的密码 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 客户端证书发送链 | 指定在获取令牌以启用客户端证书的基于使用者名称/颁发者的身份验证时,是否在客户端声明中包括 x5c 标头 | 布尔 |
| 客户端 ID | 用于对服务主体进行身份验证的客户端 ID。 | 字符串 |
| 客户密钥 | 用于对服务主体进行身份验证的客户端密码 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 租户ID | 用于对服务主体进行身份验证的租户 ID | 字符串 |
SubstituteFrom定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 类 | 定义是 ConfigMap 还是 Secret 来保存要用于替换的变量。 | 字符串 |
| 姓名 | 保存要用于替换的变量的 ConfigMap/Secret 的名称。 | 字符串 |
| 可选 | 设置为 True 将在 ConfigMap/Secret 不存在的情况下继续。 | 布尔 |
TlsConfig定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| ca证书 | 用于验证服务器的 Base64 编码的 CA 证书。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| clientCertificate | Base64 编码的证书,用于通过 OCI 资料档案库验证客户端。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
| 私钥 | Base64 编码的专用密钥,用于通过 OCI 资料档案库验证客户端。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
验证定义
| 名称 | DESCRIPTION | 价值 |
|---|---|---|
| 匹配 OIDCIdentity | 定义在验证 OCI 对象时匹配身份的条件的数组。 | MatchOidcIdentityDefinition[] |
| 提供商 | 验证提供商名称。 | 字符串 |
| verificationConfig | 包含受信任作者的受信任公有密钥的对象。 | 验证定义验证配置 |
验证定义验证配置
| 名称 | DESCRIPTION | 价值 |
|---|
用法示例
Terraform 示例
部署 Kubernetes Flux 配置的基本示例。
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "managedCluster" {
type = "Microsoft.ContainerService/managedClusters@2023-04-02-preview"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
identity {
type = "SystemAssigned"
identity_ids = []
}
body = {
properties = {
agentPoolProfiles = [
{
count = 1
mode = "System"
name = "default"
vmSize = "Standard_DS2_v2"
},
]
dnsPrefix = var.resource_name
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "extension" {
type = "Microsoft.KubernetesConfiguration/extensions@2022-11-01"
parent_id = azapi_resource.managedCluster.id
name = var.resource_name
body = {
properties = {
autoUpgradeMinorVersion = true
extensionType = "microsoft.flux"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "fluxConfiguration" {
type = "Microsoft.KubernetesConfiguration/fluxConfigurations@2022-03-01"
name = var.resource_name
parent_id = azapi_resource.managedCluster.id
body = {
properties = {
scope = "cluster"
namespace = "flux-system"
sourceKind = "GitRepository"
suspend = false
gitRepository = {
url = "https://github.com/Azure/arc-k8s-demo"
timeoutInSeconds = 120
syncIntervalInSeconds = 120
repositoryRef = {
branch = "branch"
}
}
kustomizations = {
shared = {
path = "cluster-config/shared"
timeoutInSeconds = 600
syncIntervalInSeconds = 60
retryIntervalInSeconds = 60
prune = false
force = false
}
applications = {
path = "cluster-config/applications"
dependsOn = ["shared"]
timeoutInSeconds = 600
syncIntervalInSeconds = 60
retryIntervalInSeconds = 60
prune = false
force = false
}
}
}
}
depends_on = [
azapi_resource.extension
]
}