第 2 章 Argo CD 自定义资源和组件属性


ArgoCD 自定义资源(CRD)是一个 Kubernetes 自定义资源(CRD),用于描述给定 Argo CD 集群的所需状态,允许您配置组成 Argo CD 集群的组件。

2.1. Argo CD 自定义资源属性

Argo CD 自定义资源由以下属性组成:

Name描述defaultProperties

aggregatedClusterRoles

为集群范围的实例的 Argo CD Application Controller 组件使用聚合的集群角色。

false

 

applicationInstanceLabelKey

Argo CD 注入应用程序名称的 metadata.label 键名称作为一个跟踪标签。

app.kubernetes.io/instance

 

applicationSet

ApplicationSet Controller 配置选项。

object

  • enabled - 在 Argo CD 安装过程中用来启用 ApplicationSet Controller 的标志。
  • env - 指定 ApplicationSet Controller pod 的环境。
  • extraCommandArgs - 列表添加到 Operator 为 ApplicationSet 工作负载设置的现有参数中。
  • image - ApplicationSet Controller 的容器镜像。此属性覆盖 ARGOCD_APPLICATIONSET_IMAGE 环境变量。
  • loglevel - Argo CD Application Controller 组件使用的日志级别。有效选项包括 debuginfoerrorwarn
  • logFormat - Argo CD Application Controller 组件使用的日志格式。有效选项为 textjson
  • parallelismLimit - 为控制器设置的 kubectl parallelism 限制( --kubectl-parallelism-limit 标志)。
  • resources - 容器计算资源。
  • scmProviders - 允许的源代码管理器(SCM)供应商的 URL。
  • scmRootCAConfigMap - 存储 Gitlab SCM 提供程序 TLS 证书的配置映射的名称,该证书将被挂载到"/app/tls/scm/cert"路径的 Application Set Controller 上。
  • sourceNamespaces - 在目标命名空间中创建和管理 Argo CD ApplicationSet 资源的非 control plane 命名空间列表。
  • version - 与 applicationSet 容器镜像一起使用的标签。
  • Argo CD ApplicationSet Controller 组件配置的添加卷的卷列表。此字段是可选的。
  • volumeMounts - 添加为 Argo CD ApplicationSet Controller 组件配置的卷挂载列表。此字段是可选的。
  • webhook server- 定义 ApplicationSet webhook 服务器的可用选项。

banner

添加 UI 横幅消息。

object

  • banner.content - 横幅消息内容。如果显示横幅,则需要此内容。
  • banner.url - 可选横幅消息链接 URL。

configManagementPlugins

添加配置管理插件。

empty

 

controller

Argo CD Application Controller 选项。

object

  • AppSync- AppSync 用于控制 Argo CD 应用程序的同步频率。
  • 应用程序控制器工作负载设置的环境。
  • extraCommandArgs - list 添加至 Operator 设置的现有参数中。
  • initContainers - ArgoCD 应用程序控制器组件的 init 容器列表。此字段是可选的。
  • loglevel - Argo CD Application Controller 组件使用的日志级别。有效选项包括 debuginfoerrorwarn
  • Processor.operation - 操作处理器的数量。
  • processor.status - 状态处理器的数量。
  • resources - 容器计算资源。
  • sidecarContainers - ArgoCD Application Controller 组件的 sidecar 容器列表。此字段是可选的。
  • 在 Argo CD Application Controller 组件中 分片.enabled - 启用分片。使用此属性管理大量集群,并缓解控制器组件的内存压力。
  • sharding.replicas - 用于支持 Argo CD Application Controller 分片的副本数。
  • sharding.dynamicScalingEnabled - 启用 Argo CD Application Controller 组件的动态扩展。如果您希望 Operator 根据控制器组件管理的集群数量扩展副本数,请使用此属性。如果将此属性设置为 true,它会覆盖 sharding. enabled 和 sharding.replicas 属性的配置。
  • sharding.minShards - Argo CD Application Controller 副本的最小数量。
  • sharding.maxShards - Argo CD Application Controller 副本的最大数量。
  • sharding.clustersPerShard - 需要由每个分片管理的集群数量。当副本数达到 maxShards 时,分片会管理多个集群。
  • 为 Argo CD Application Controller 组件配置的卷添加 卷列表。此字段是可选的。
  • volumeMounts - 添加为 Argo CD Application Controller 组件配置的卷挂载列表。此字段是可选的。

disableAdmin

禁用内置的 admin 用户。

false

 

defaultClusterScopedRoleDisabled

禁用为集群范围的实例创建默认集群角色。

false

 

extraConfig

将任何补充 Argo CD 设置添加到 argocd-cm 配置映射中,这些配置映射不能直接在 Argo CD 自定义资源中配置。

empty

 

gaTrackingID

使用 Google Analytics 跟踪 ID。

empty

 

gaAnonymizeUsers

启用发送至 google 分析的散列用户名。

false

 

ha

高可用性选项。

object

  • 启用 - 为 Argo CD 切换全局的高可用性支持。
  • redisProxyImage - Redis HAProxy 容器镜像。此属性覆盖 ARGOCD_REDIS_HA_PROXY_IMAGE 环境变量。
  • redisProxyVersion - 用于 Redis HAProxy 容器镜像的标签。

helpChatURL

用于获取聊天帮助的 URL (通常是您的 Slack 频道支持)。

https://mycorp.slack.com/argo-cd

 

helpChatText

显示在进行聊天帮助的文本框中。

现在聊天!

 

image

所有 Argo CD 组件的容器镜像。这会覆盖 ARGOCD_IMAGE 环境变量。

argoproj/argocd

 

import

为 Argo CD 导入配置选项。

object

  • name - 可以从中导入数据的 ArgoCDExport 资源的名称。
  • namespace - 由 name 字段引用的 ArgoCDExport 资源的命名空间。如果没有设置此字段,则 ArgoCDExport 资源的命名空间默认设置为与 Argo CD 相同的命名空间。

ingress

Ingress 配置选项。

object

 

initialRepositories

初始 Git 存储库,将 Argo CD 配置为在创建集群时使用。

empty

 

initialSSHKnownHosts

定义 Argo CD 的初始 SSH 已知主机数据,以便在集群创建时使用,以通过 SSH 连接到 Git 存储库。

default_Argo_CD_Known_Hosts

  • excludedefaulthosts - 表示您要添加 Argo CD 提供的 SSH 已知问题的默认列表。
  • keys - 描述您要合并到 Argo CD 服务器的一组自定义 SSH 已知问题。

kustomizeBuildOptions

用于 kustomize build 的构建选项和参数。

empty

 

kustomizeVersions

定义在 Argo CD 仓库服务器容器镜像中配置的 Kustomize 版本列表。

empty

  • path - Argo CD repo 服务器容器镜像的文件系统中的 Kustomize 版本路径。
  • version - 在 Argo CD repo 服务器容器镜像中配置的 vX.Y.Z 格式的 Kustomize 版本。

monitoring

为您的实例定义工作负载状态监控配置。

object

  • disableMetrics - Configure this 字段,以启用或禁用您的实例的指标集合。
  • enabled - 指示是否为您的实例启用工作负载状态监控。

notifications

通知控制器配置选项。

object

  • enabled - 切换启动通知控制器。
  • env - 为通知控制器工作负载设置的环境。
  • image - 所有 Argo CD 组件的容器镜像。此属性覆盖 ARGOCD_IMAGE 环境变量。
  • loglevel - Argo CD Application Controller 组件使用的日志级别。有效选项包括 debuginfoerrorwarn
  • replicas - 为 Notifications 控制器运行的副本数。
  • resources - 容器计算资源。
  • version - 与 Notifications 容器镜像一起使用的标签。

nodePlacement

为 Argo CD 工作负载定义 NodeSelectorsTolerations

empty

  • nodeSelector - 节点选择的键值对映射。
  • tolerations -Tolerations 允许 pod 为具有匹配污点的节点创建调度。

oidcConfig

OIDC 配置作为 Dex 的替代方案。

empty

 

prometheus

Prometheus 配置选项。

object

  • 启用 - 为 Argo CD 切换全局的 Prometheus 支持。
  • Host - 用于 IngressRoute 资源的主机名。
  • Prometheus 的 Ingress 切换入口。
  • Route - Route 配置选项。
  • size - Prometheus StatefulSet 的副本数。

rbac

RBAC 配置选项。

object

  • defaultPolicy - argocd-rbac-cm 配置映射中的 policy.default 属性。Argo CD 在授权 API 请求时回退到的默认角色的名称。
  • policy -rbac- rbac-cm 配置映射中的 policy.csv 属性。此属性包含有关用户定义的 RBAC 策略和角色定义的 CSV 数据。
  • policyMatcher - argocd-rbac-cm 配置映射中的 policy.matchMode 属性。此属性有两个选项:'glob' for glob matcher 和 'regex' 用于 regex matcher。
  • scopes - argocd-rbac-cm 配置映射中的 scopes 属性。除了子范围外,控制在 RBAC 执行期间要检查的 OIDC 范围。

redis

Redis 配置选项。

object

  • autotls - 使用供应商创建 Redis 服务器的 TLS 证书。当前只有 openshift 值可用。
  • disableTLSVerification - 定义是否应使用严格的 TLS 验证访问 Redis 服务器。
  • image - Redis 的容器镜像。这会覆盖 ARGOCD_REDIS_IMAGE 环境变量。
  • resources - 容器计算资源。
  • version - 与 Redis 容器镜像一起使用的标签。

repositoryCredentials

Git 存储库凭证模板,将 Argo CD 配置为在集群创建时使用。

empty

 

resourceActions

自定义资源操作行为。

empty

 

resourceExclusions

完全忽略整个资源组类别。

empty

 

resourceInclusions

用于标识要应用哪些资源组/kinds 的配置。

empty

 

resourceHealthChecks

自定义资源健康检查行为。

empty

 

resourceIgnoreDifferences

自定义资源忽略差异行为。

empty

 

resourceTrackingMethod

Argo CD 用来监控其受管资源的字段。

label

 

server

Argo CD Server 配置选项。

object

  • autoscale - Server autoscale 配置选项。
  • 为服务器工作负载设置的环境。
  • enabled - 在 Argo CD 安装过程中启用 Argo CD 服务器的标志。
  • enableRolloutsUI - 当参数设置为 true 时,该参数会在 Argo CD 中启用 Argo Rollouts UI 扩展。默认值为 false
  • extraCommandArgs - list 添加至 Operator 设置的现有参数中。
  • gRPC - gRPC 配置选项。
  • host - 用于 IngressRoute 资源的主机名。
  • initContainers - Argo CD Application Controller 组件的 init 容器列表。此字段是可选的。
  • Argo CD 服务器组件的 Ingress 配置。
  • insecure - 切换 Argo CD 服务器的 insecure 标志。
  • Loglevel - Argo CD 服务器组件使用的日志级别。有效选项包括 debuginfoerrorwarn
  • logFormat - Argo CD 服务器组件使用的日志格式。有效选项为 textjson
  • resources - 容器计算资源。
  • replicas - Argo CD 服务器的副本数量。必须大于或等于 0。如果启用了 自动扩展,则忽略 副本
  • Route - Route 配置选项。
  • service.Type - 用于服务资源的 serviceType
  • sidecarContainers - Argo CD Application Controller 组件的 sidecar 容器列表。此字段是可选的。
  • 为 Argo CD Application Controller 组件配置的卷添加 卷列表。此字段是可选的。
  • volumeMounts - 添加为 Argo CD Application Controller 组件配置的卷挂载列表。此字段是可选的。

sourceNamespaces

指定在其中创建应用程序资源的命名空间。

string

 

sso

单点登录选项。

object

  • Dex SSO 提供程序的 Dex 配置选项。
  • Keycloak SSO 提供程序的 Keycloak 配置选项。
  • provider - configuration Single Sign-on 的提供程序名称。目前,支持的选项有 Dex 和 Keycloak。

statusBadgeEnabled

启用应用程序状态徽标。

true

 

tls

TLS 配置选项。

object

  • ca.configMapName - 包含 CA 证书的 ConfigMap 名称。
  • ca.secretName - 包含 CA 证书和密钥的 secret 名称。
  • initialCerts - Initial set in the argocd-tls-certs-cm 配置映射中,用于通过 HTTPS 连接 Git 存储库。

usersAnonymousEnabled

启用匿名用户访问。

true

 

version

用于所有 Argo CD 组件的容器镜像的标签。

最新的 Argo CD 版本

 
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.