第 1 章 准备安装 Red Hat OpenShift GitOps
在 OpenShift Container Platform 上安装 Red Hat OpenShift GitOps 前,请阅读以下大小要求。此信息包括由 Red Hat OpenShift GitOps Operator 实例化的默认 Argo CD 实例的大小详情。
1.1. GitOps 的大小要求 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 是为云原生应用程序实施持续部署的一种声明方法。通过 GitOps,您可以定义并配置应用程序的 CPU 和内存要求。
安装 Red Hat OpenShift GitOps Operator 时,资源将部署到定义的限制中的命名空间中。如果命名空间配置了资源配额,且安装没有设置限制或请求,Operator 安装可能会失败。另外,如果没有足够资源,集群无法调度 Argo CD 相关 pod。
下表详细介绍了默认工作负载的资源请求和限值。
| Workload | CPU 请求 | CPU 限值 | 内存请求 | 内存限值 |
|---|---|---|---|---|
| openshift-gitops-application-controller | 250m | 2 | 1024Mi | 2048Mi |
| applicationset-controller | 250m | 2 | 512Mi | 1024Mi |
| openshift-gitops-server | 125m | 500m | 128Mi | 256Mi |
| openshift-gitops-repo-server | 250m | 1 | 256Mi | 1024Mi |
| openshift-gitops-redis | 250m | 500m | 128Mi | 256Mi |
| openshift-gitops-dex-server | 250m | 500m | 128Mi | 256Mi |
| openshift-gitops-redis-ha-haproxy | 250m | 500m | 128Mi | 256Mi |
另外,您还可以在 oc 命令中使用 ArgoCD 自定义资源来查看特定并修改它们:
oc edit argocd <name of argo cd> -n namespace
1.1.1. Argo CD redis 的大小要求 复制链接链接已复制到粘贴板!
在 Red Hat OpenShift GitOps Operator 中应用程序的容量规划阶段,您必须确保为 argocd-redis pod 分配足够数量的资源,如 memory、CPU 和存储。
Redis pod 的默认内存限值可能不足以管理大量资源。在这些情况下,您必须提高内存限制,监控内存指标,并在应用程序部署扩展时更改内存配置。
以下命令显示 openshift-gitops 命名空间中的 Redis pod 的内存配置示例:
$ oc get argocd -n openshift-gitops openshift-gitops -o json | jq '.spec.redis.resources'
输出示例:
{
"limits": {
"cpu": "500m",
"memory": "256Mi"
},
"requests": {
"cpu": "250m",
"memory": "128Mi"
}
}
其中:
limits- 指定分配给 pod 的最大资源限值阈值。
requests- 指定分配给 pod 的最低资源限值阈值。
以下示例命令更改 Redis pod 的内存配置。最高资源限值阈值被设置为 8 Gi,最小设置为 256 Mi。
$ 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