第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 をインストールすると、定義された制限内でリソースが namespace にデプロイされます。namespace にリソースクォータが設定されており、インストール時に制限や要求が設定されていない場合、Operator のインストールが失敗する可能性があります。また、十分なリソースがない場合、クラスターは Argo CD 関連の Pod をスケジュールできません。
次の表に、デフォルトのワークロードのリソース要求および制限の詳細を示します。
| Workload | CPU 要求 | CPU 上限 | メモリー要求 | メモリー上限 |
|---|---|---|---|---|
| openshift-gitops-application-controller | 250 m | 2 | 1024 Mi | 2048Mi |
| applicationset-controller | 250 m | 2 | 512Mi | 1024 Mi |
| openshift-gitops-server | 125m | 500m | 128Mi | 256Mi |
| openshift-gitops-repo-server | 250 m | 1 | 256Mi | 1024 Mi |
| openshift-gitops-redis | 250 m | 500m | 128Mi | 256Mi |
| openshift-gitops-dex-server | 250 m | 500m | 128Mi | 256Mi |
| openshift-gitops-redis-ha-haproxy | 250 m | 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 でのアプリケーションの容量計画段階では、メモリー、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": {
"cpu": "500m",
"memory": "256Mi"
},
"requests": {
"cpu": "250m",
"memory": "128Mi"
}
}
各項目の説明:
limits- Pod に割り当てるリソース制限の最大しきい値を指定します。
requests- Pod に割り当てるリソース制限の最小しきい値を指定します。
次のコマンド例は、Redis Pod のメモリー設定を変更します。リソース制限の最大しきい値は 8 ギガバイト、最小しきい値は 256 マイルに設定されます。
$ 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