第 1 章 准备安装 Red Hat OpenShift GitOps
在 OpenShift Container Platform 上安装 Red Hat OpenShift GitOps 前,请阅读以下有关大小要求和先决条件的信息。大小要求还为 Red Hat OpenShift GitOps Operator 实例化的默认 ArgoCD 实例提供大小详情。
1.1. GitOps 的大小要求
Red Hat OpenShift GitOps 是为云原生应用程序实施持续部署的一种声明方法。通过 GitOps,您可以定义并配置应用程序的 CPU 和内存要求。
每次安装 Red Hat OpenShift GitOps Operator 时,命名空间上的资源都会在定义的限制中安装。如果默认安装没有设置任何限制或请求,Operator 会使用配额在命名空间中失败。如果没有足够资源,集群无法调度 ArgoCD 相关 pod。下表列出了默认工作负载的资源请求和限值:
Workload | CPU 请求 | CPU 限值 | 内存请求 | 内存限值 |
---|---|---|---|---|
argocd-application-controller | 1 | 2 | 1024Mi | 2048Mi |
applicationset-controller | 1 | 2 | 512Mi | 1024Mi |
argocd-server | 0.125 | 0.5 | 128Mi | 256Mi |
argocd-repo-server | 0.5 | 1 | 256Mi | 1024Mi |
argocd-redis | 0.25 | 0.5 | 128Mi | 256Mi |
argocd-dex | 0.25 | 0.5 | 128Mi | 256Mi |
HAProxy | 0.25 | 0.5 | 128Mi | 256Mi |
另外,您还可以在 oc
命令中使用 ArgoCD 自定义资源来查看特定并修改它们:
oc edit argocd <name of argo cd> -n namespace
1.1.1. argocd-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": { 1 "cpu": "500m", "memory": "256Mi" }, "requests": { 2 "cpu": "250m", "memory": "128Mi" } }
以下示例命令更改 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