×

在您在 OpenShift Container Platform 上安装 Red Hat OpenShift GitOps 之前,请阅读有关规模要求和先决条件的以下信息。规模要求还提供了 Red Hat OpenShift GitOps Operator 实例化的默认 ArgoCD 实例的规模详细信息。

GitOps 的规模要求

Red Hat OpenShift GitOps 是一种声明式方法,用于实现云原生应用程序的持续部署。通过 GitOps,您可以定义和配置应用程序的 CPU 和内存要求。

每次安装 Red Hat OpenShift GitOps Operator 时,命名空间上的资源都会在定义的限制内安装。如果默认安装未设置任何限制或请求,则 Operator 会在具有配额的命名空间中失败。如果没有足够的资源,集群将无法调度与 ArgoCD 相关的 Pod。下表详细说明了默认工作负载的资源请求和限制

工作负载 CPU 请求 CPU 限制 内存请求 内存限制

argocd-application-controller

250m

2

1024Mi

2048Mi

applicationset-controller

250m

2

512Mi

1024Mi

argocd-server

125m

500m

128Mi

256Mi

argocd-repo-server

250m

1

256Mi

1024Mi

argocd-redis

250m

500m

128Mi

256Mi

argocd-dex-server

250m

500m

128Mi

256Mi

argocd-redis-ha-haproxy

200m

500m

128Mi

256Mi

此外,您也可以使用 ArgoCD 自定义资源和oc命令查看详细信息并进行修改。

oc edit argocd <name of argo cd> -n namespace

argocd-redis 的大小需求

在为 Red Hat OpenShift GitOps Operator 中的应用程序进行容量规划阶段,必须确保为argocd-redis pod 分配足够的资源,例如内存、CPU 和存储。

Redis pod 的默认内存限制可能不足以管理大量资源。在这种情况下,必须增加内存限制,监控内存指标,并在应用程序部署扩展时更改内存配置。

以下命令显示了openshift-gitops命名空间中 Redis pod 的内存配置示例。

$ oc get argocd -n openshift-gitops openshift-gitops -o json | jq '.spec.redis.resources'
示例输出
{
    "limits": { (1)
        "cpu": "500m",
        "memory": "256Mi"
  },
  "requests": { (2)
    "cpu": "250m",
    "memory": "128Mi"
  }
}
1 分配给 pod 的最高资源限制阈值。
2 分配给 pod 的最低资源限制阈值。

以下示例命令更改了 Redis pod 的内存配置。最高资源限制阈值设置为 8 GiB,最低资源限制阈值设置为 256 MiB。

$ oc patch argocd -n openshift-gitops openshift-gitops --type json -p '[{"op": "replace", "path":  \
  "/spec/redis/resources/limits/memory", "value": "8Gi"}, {"op": "replace", "path": \
  "/spec/redis/resources/requests/memory", "value": "256Mi"}]'
示例输出
argocd.argoproj.io/openshift-gitops patched