oc edit argocd <name of argo cd> -n namespace
在您在 OpenShift Container Platform 上安装 Red Hat OpenShift GitOps 之前,请阅读有关规模要求和先决条件的以下信息。规模要求还提供了 Red Hat OpenShift GitOps Operator 实例化的默认 ArgoCD 实例的规模详细信息。
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
在为 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