GitOps のインストール
OpenShift GitOps Operator をインストールし、Argo CD インスタンスにログインして、GitOps CLI をインストールする
概要
第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 | 250 m | 2 | 1024 Mi | 2048Mi |
| applicationset-controller | 250 m | 2 | 512 Mi | 1024 Mi |
| argocd-server | 125m | 500 m | 128 Mi | 256 Mi |
| argocd-repo-server | 250 m | 1 | 256 Mi | 1024 Mi |
| argocd-redis | 250 m | 500 m | 128 Mi | 256 Mi |
| argocd-dex-server | 250 m | 500 m | 128 Mi | 256 Mi |
| argocd-redis-ha-haproxy | 200m | 500 m | 128 Mi | 256 Mi |
オプションで、oc コマンドで ArgoCD カスタムリソースを使用して、詳細を確認し、変更することもできます。
oc edit argocd <name of argo cd> -n namespace
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'
$ oc get argocd -n openshift-gitops openshift-gitops -o json | jq '.spec.redis.resources'
出力例
次のコマンド例は、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"}]'
$ 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
argocd.argoproj.io/openshift-gitops patched
第2章 Red Hat OpenShift GitOps のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift GitOps は Argo CD を使用して、クラスター Operator、オプションの Operator Lifecycle Manager (OLM) Operator、ユーザー管理など、特定のクラスタースコープのリソースを管理します。
2.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- OpenShift Container Platform Web コンソールにアクセスできる。
-
cluster-adminロールを持つユーザーとしてログインしている。 - 管理者として OpenShift Container Platform クラスターにログインしている。
- クラスターで Marketplace 機能 が有効になっているか、Red Hat Operator カタログソースが手動で設定されている。
Red Hat OpenShift GitOps Operator をインストールする前にコミュニティーバージョンの Argo CD Operator がすでにインストールされている場合は、Argo CD Community Operator を削除します。
以下では、Red Hat OpenShift GitOps Operator を OpenShift Container Platform クラスターにインストールし、Argo CD インスタンスにログインする方法を説明します。
latest チャネルにより、Red Hat OpenShift GitOps Operator の最新の安定バージョンをインストールできます。現在、Red Hat OpenShift GitOps Operator をインストールするためのデフォルトのチャネルです。
Red Hat OpenShift GitOps Operator の特定のバージョンをインストールするには、クラスター管理者は対応する gitops-<version> チャネルを使用できます。たとえば、Red Hat OpenShift GitOps Operator バージョン 1.8.x をインストールするには、gitops-1.8 チャネルを使用できます。
2.2. Red Hat OpenShift GitOps Operator を Web コンソールにインストールする リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して、OperatorHub から Red Hat OpenShift GitOps Operator をインストールできます。
手順
- Web コンソールの Administrator パースペクティブを開き、Operators → OperatorHub に移動します。
-
OpenShift GitOpsを検索し、Red Hat OpenShift GitOps タイルをクリックし、Install をクリックします。 Install Operator ページで以下を行います。
- Update channel を選択します。
- インストールする GitOps Version を選択します。
Installed Namespace を選択します。デフォルトのインストール namespace は
openshift-gitops-operatorです。注記GitOps バージョン 1.10 以降では、デフォルトの namespace が
openshift-operatorsからopenshift-gitops-operatorに変更されました。Enable Operator recommended cluster monitoring on this Namespace チェックボックスを選択して、クラスターのモニタリングを有効にします。
注記openshift.io/cluster-monitoring=trueラベルを適用して、任意の namespace でクラスターモニタリングを有効にできます。oc label namespace <namespace> openshift.io/cluster-monitoring=true
$ oc label namespace <namespace> openshift.io/cluster-monitoring=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
namespace/<namespace> labeled
namespace/<namespace> labeledCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Install をクリックし、GitOps Operator を OpenShift Container Platform クラスターで利用可能にします。
Red Hat OpenShift GitOps は、クラスターのすべての namespace にインストールされます。
- Red Hat OpenShift GitOps Operator が、Operators → Installed Operators に一覧表示されていることを確認します。Status は Succeeded に解決されるはずです。
Red Hat OpenShift GitOps Operator がインストールされると、openshift-gitops namespace で利用可能なすぐに使える Argo CD インスタンスが自動的に設定され、Argo CD アイコンがコンソールツールバーに表示されます。プロジェクトでアプリケーション用に後続の Argo CD インスタンスを作成できます。
2.3. CLI を使用した Red Hat OpenShift GitOps Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用して OperatorHub から Red Hat OpenShift GitOps Operator をインストールできます。
GitOps バージョン 1.10 以降では、デフォルトの namespace が openshift-operators から openshift-gitops-operator に変更されました。
前提条件
-
cluster-admin権限で OpenShift Container Platform クラスターにアクセスするためのログイン認証情報がある。 -
ocCLI をインストールした。
手順
openshift-gitops-operatornamespace を作成します。oc create ns openshift-gitops-operator
$ oc create ns openshift-gitops-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
namespace/openshift-gitops-operator created
namespace/openshift-gitops-operator createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記openshift.io/cluster-monitoring=trueラベルを適用することで、openshift-gitops-operatorまたは任意の namespace でクラスターモニタリングを有効にできます。oc label namespace <namespace> openshift.io/cluster-monitoring=true
$ oc label namespace <namespace> openshift.io/cluster-monitoring=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
namespace/<namespace> labeled
namespace/<namespace> labeledCopy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupオブジェクト YAML ファイルを作成します (例:gitops-operator-group.yaml)。OperatorGroup の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupをクラスターに適用します。oc apply -f gitops-operator-group.yaml
$ oc apply -f gitops-operator-group.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
operatorgroup.operators.coreos.com/openshift-gitops-operator created
operatorgroup.operators.coreos.com/openshift-gitops-operator createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Subscriptionオブジェクトの YAML ファイルを作成し、namespace を Red Hat OpenShift GitOps Operator にサブスクライブします (例:openshift-gitops-sub.yaml)。Subscription の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Subscriptionをクラスターに適用します。oc apply -f openshift-gitops-sub.yaml
$ oc apply -f openshift-gitops-sub.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
subscription.operators.coreos.com/openshift-gitops-operator created
subscription.operators.coreos.com/openshift-gitops-operator createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow インストールが完了したら、
openshift-gitopsnamespace のすべての Pod が実行されていることを確認します。oc get pods -n openshift-gitops
$ oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-gitops-operatornamespace の Pod が実行されていることを確認します。oc get pods -n openshift-gitops-operator
$ oc get pods -n openshift-gitops-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE openshift-gitops-operator-controller-manager-6fdc5cd9dc-jr9mn 2/2 Running 0 41s
NAME READY STATUS RESTARTS AGE openshift-gitops-operator-controller-manager-6fdc5cd9dc-jr9mn 2/2 Running 0 41sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. Argo CD 管理アカウントを使用した Argo CD インスタンスへのログイン リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift GitOps は openshift-gitops namespace で利用可能なすぐに使用できる Argo CD インスタンスを自動的に作成します。必要に応じて、新しい Argo CD インスタンスを作成して、クラスター設定を管理したり、アプリケーションをデプロイしたりすることもできます。
Argo CD 管理者アカウントを使用して、すぐに使用できるデフォルトの Argo CD インスタンス、または新しくインストールされデプロイされている Argo CD インスタンスにログインします。
前提条件
- Red Hat OpenShift GitOps Operator が OpenShift Container Platform クラスターにインストールされている。
手順
- Web コンソールの Administrator パースペクティブで、Operators → Installed Operators に移動し、Red Hat OpenShift GitOps Operator がインストールされていることを確認します。
-
メニュー → OpenShift GitOps → Cluster Argo CD の順に移動します。Argo CD UI のログインページは、新規ウィンドウに表示されます。
オプション: OpenShift Container Platform の認証情報でログインするには、
cluster-adminsグループのユーザーであることを確認してから、Argo CD ユーザーインターフェイスでLOG IN VIA OPENSHIFTオプションを選択します。注記cluster-adminsグループのユーザーになるには、oc adm groups new cluster-admins <user>コマンドを使用します。この場合の<user>は、クラスター全体またはローカルでユーザーおよびグループにバインドできるデフォルトのクラスターロールです。Argo CD インスタンスのパスワードを取得します。
- ナビゲーションパネルを使用して、Workloads → Secrets ページに移動します。
- Project ドロップダウンリストを使用して、Argo CD インスタンスが作成される namespace を選択します。
- パスワードを表示するには、<argo_CD_instance_name>-cluster インスタンスを選択します。
- Details タブで、Data → admin.password の下にあるパスワードをコピーします。
-
Username に
adminを使用し、Password にはコピーしたパスワードを使用して、新しいウィンドウで Argo CD UI にログインします。
同じ namespace に 2 つの Argo CD CR を作成することはできません。
第3章 GitOps CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift GitOps argocd CLI ツールはテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
GitOps argocd CLI ツールを使用して、コマンドラインから Red Hat OpenShift GitOps および Argo CD リソースを設定および管理します。GitOps argocd CLI は、GitOps コンピューティングタスクをシンプルかつ簡潔にするように設計されています。この CLI ツールはさまざまなプラットフォームにインストールできます。
圧縮アーカイブと RPM の両方に、argocd 実行可能バイナリーファイルが含まれています。Red Hat アカウントにアクティブな OpenShift Container Platform サブスクリプションがある場合は、yum、dnf などのパッケージマネージャーを使用して CLI ツールを RPM としてインストールします。
3.1. Linux への Red Hat OpenShift GitOps CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Linux ディストリビューションの場合、GitOps argocd CLI を tar.gz アーカイブとしてダウンロードできます。
手順
ご使用のオペレーティングシステムとアーキテクチャーに応じた最新バージョンの CLI ツールを コンテンツゲートウェイ からダウンロードします。
Expand オペレーティングシステム アーキテクチャー Tarball Linux
x86_64、amd64
argocd-linux-amd64.tar.gzLinux on IBM zSystems および IBM® LinuxONE
s390x
argocd-linux-s390x.tar.gzLinux on IBM Power
ppc64le
argocd-linux-ppc64le.tar.gzARM 上の Linux
aarch64、arm64
argocd-linux-arm64.tar.gz注記新しいバージョンの CLI ツールは、古いバージョンの Red Hat OpenShift GitOps サーバーと互換性がありますが、その逆は当てはまりません。
次のコマンドを実行してアーカイブを抽出します。
tar xvzf <file>
$ tar xvzf <file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、バイナリーを
PATH環境変数のディレクトリーに移動します。sudo mv argocd /usr/local/bin/argocd
$ sudo mv argocd /usr/local/bin/argocdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ファイルを実行可能にします。
sudo chmod +x /usr/local/bin/argocd
$ sudo chmod +x /usr/local/bin/argocdCopy to Clipboard Copied! Toggle word wrap Toggle overflow GitOps
argocdCLI をインストールしたら、次のコマンドを実行して、使用可能であることを確認します。argocd version --client
$ argocd version --clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Red Hat によってビルドされた Red Hat OpenShift GitOps のビルド情報。
3.2. RPM を使用した Linux への Red Hat OpenShift GitOps CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) バージョン 8 以降では、yum、dnf などのパッケージマネージャーを使用して、GitOps argocd CLI を RPM としてインストールできます。これにより、GitOps argocd CLI バージョンがシステムによって自動的に管理されるようになります。たとえば、dnf upgrade などのコマンドを使用すると、新しいバージョンが利用可能な場合は argocd を含むすべてのパッケージがアップグレードされます。
前提条件
- お使いの Red Hat アカウントに有効な OpenShift Container Platform サブスクリプションがある。
-
ローカルシステムに root または
sudo権限がある。
手順
次のコマンドを実行して、Red Hat Subscription Manager に登録します。
subscription-manager register
# subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、最新のサブスクリプションデータを取得します。
subscription-manager refresh
# subscription-manager refreshCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、利用可能なサブスクリプションをリスト表示します。
subscription-manager list --available --matches '*gitops*'
# subscription-manager list --available --matches '*gitops*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前のコマンドの出力で、OpenShift Container Platform サブスクリプションのプール ID を見つけ、次のコマンドを実行して、登録済みのシステムにサブスクリプションをアタッチします。
subscription-manager attach --pool=<pool_id>
# subscription-manager attach --pool=<pool_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Red Hat OpenShift GitOps for RHEL バージョン 8 以降に必要なリポジトリーを有効にします。
Linux (x86_64, amd64)
subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-x86_64-rpms"
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-x86_64-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの例
subscription-manager repos --enable="gitops-1.17-for-rhel-8-x86_64-rpms"
# subscription-manager repos --enable="gitops-1.17-for-rhel-8-x86_64-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Linux on IBM zSystems および IBM® LinuxONE (s390x)
subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-s390x-rpms"
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-s390x-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの例
subscription-manager repos --enable="gitops-1.17-for-rhel-8-s390x-rpms"
# subscription-manager repos --enable="gitops-1.17-for-rhel-8-s390x-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Linux on IBM Power (ppc64le)
subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-ppc64le-rpms"
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-ppc64le-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの例
subscription-manager repos --enable="gitops-1.17-for-rhel-8-ppc64le-rpms"
# subscription-manager repos --enable="gitops-1.17-for-rhel-8-ppc64le-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow ARM 上の Linux (aarch64、arm64)
subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-aarch64-rpms"
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-aarch64-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの例
subscription-manager repos --enable="gitops-1.17-for-rhel-8-aarch64-rpms"
# subscription-manager repos --enable="gitops-1.17-for-rhel-8-aarch64-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、
openshift-gitops-argocd-cliパッケージをインストールします。yum install openshift-gitops-argocd-cli
# yum install openshift-gitops-argocd-cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow GitOps
argocdCLI をインストールしたら、次のコマンドを実行して、使用可能であることを確認します。argocd version --client
$ argocd version --clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Red Hat によってビルドされた Red Hat OpenShift GitOps のビルド情報。
3.3. Windows への Red Hat OpenShift GitOps CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Windows の場合は、GitOps argocd CLI を圧縮された zip アーカイブとしてダウンロードできます。
手順
ご使用のオペレーティングシステムとアーキテクチャーに応じた最新バージョンの CLI ツールを コンテンツゲートウェイ からダウンロードします。
Expand オペレーティングシステム アーキテクチャー Tarball Windows
x86_64
argocd-windows-amd64.zip注記新しいバージョンの CLI ツールは、古いバージョンの Red Hat OpenShift GitOps サーバーと互換性がありますが、その逆は当てはまりません。
- ZIP プログラムでアーカイブを展開します。
次のコマンドを実行して、バイナリーを
PATH環境変数のディレクトリーに移動します。move argocd.exe <directory>
C:\> move argocd.exe <directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow GitOps
argocdCLI をインストールしたら、次のコマンドを実行して、使用可能であることを確認します。argocd version --client
$ argocd version --clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Red Hat によってビルドされた Red Hat OpenShift GitOps のビルド情報。
3.4. macOS への Red Hat OpenShift GitOps CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
macOS の場合は、GitOps argocd CLI を tar.gz アーカイブとしてダウンロードできます。
手順
ご使用のオペレーティングシステムとアーキテクチャーに応じた最新バージョンの CLI ツールを コンテンツゲートウェイ からダウンロードします。
Expand オペレーティングシステム アーキテクチャー Tarball Intel 上の macOS
x86_64
argocd-macos-amd64.tar.gzARM 上の macOS
arm64
argocd-macos-arm64.tar.gz注記新しいバージョンの CLI ツールは、古いバージョンの Red Hat OpenShift GitOps サーバーと互換性がありますが、その逆は当てはまりません。
次のコマンドを実行してアーカイブを抽出します。
tar xvzf <file>
$ tar xvzf <file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、バイナリーを
PATH環境変数のディレクトリーに移動します。sudo mv argocd /usr/local/bin/argocd
$ sudo mv argocd /usr/local/bin/argocdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ファイルを実行可能にします。
sudo chmod +x /usr/local/bin/argocd
$ sudo chmod +x /usr/local/bin/argocdCopy to Clipboard Copied! Toggle word wrap Toggle overflow GitOps
argocdCLI をインストールしたら、次のコマンドを実行して、使用可能であることを確認します。argocd version --client
$ argocd version --clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Red Hat によってビルドされた Red Hat OpenShift GitOps のビルド情報。