第1章 Red Hat OpenShift GitOps のインストールの準備
Red Hat OpenShift GitOps を OpenShift Container Platform にインストールする前に、サイジング要件と前提条件に関する次の情報を確認してください。サイジング要件は、Red Hat OpenShift GitOps Operator によってインスタンス化されるデフォルト ArgoCD インスタンスのサイズの詳細を示すものでもあります。
1.1. GitOps のサイジング要件
Red Hat OpenShift GitOps は、クラウドネイティブアプリケーションの継続的デプロイメントを実装するための宣言的な方法です。GitOps を使用すると、アプリケーションの CPU とメモリーの要件を定義および設定できます。
Red Hat OpenShift GitOps Operator をインストールするたびに、namespace 上のリソースが、定義された制限内でインストールされます。デフォルトのインストールで制限と要求が設定されていない場合、Operator は namespace でクォータを使用して失敗します。十分なリソースがないと、クラスターは ArgoCD 関連の Pod をスケジュールできません。次の表に、デフォルトのワークロードのリソース要求および制限の詳細を示します。
ワークロード | CPU 要求 | CPU 上限 | メモリー要求 | メモリー上限 |
---|---|---|---|---|
argocd-application-controller | 1 | 2 | 1024 Mi | 2048Mi |
applicationset-controller | 1 | 2 | 512 Mi | 1024 Mi |
argocd-server | 0.125 | 0.5 | 128 Mi | 256 Mi |
argocd-repo-server | 0.5 | 1 | 256 Mi | 1024 Mi |
argocd-redis | 0.25 | 0.5 | 128 Mi | 256 Mi |
argocd-dex | 0.25 | 0.5 | 128 Mi | 256 Mi |
HAProxy | 0.25 | 0.5 | 128 Mi | 256 Mi |
オプションで、oc
コマンドで ArgoCD カスタムリソースを使用して、詳細を確認し、変更することもできます。
oc edit argocd <name of argo cd> -n namespace
1.1.1. argocd-redis のサイズ要件
Red Hat OpenShift GitOps Operator でのアプリケーションの容量計画段階では、メモリー、CPU、ストレージなどの十分な量のリソースが argocd-redis
Pod に割り当てられていることを確認する必要があります。
Redis Pod のデフォルトのメモリー制限では、多数のリソースを管理するには不十分な可能性があります。このような場合、アプリケーションのデプロイメントが拡大する間に、メモリー制限を増やし、メモリーメトリクスを監視し、メモリー設定を変更する必要があります。
次のコマンドは、openshift-gitops
namespace の 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