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 | 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
第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
出力例
namespace/<namespace> labeled
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
に変更されました。
手順
openshift-gitops-operator
namespace を作成します。$ oc create ns openshift-gitops-operator
出力例
namespace/openshift-gitops-operator created
注記openshift.io/cluster-monitoring=true
ラベルを適用することで、openshift-gitops-operator
または任意の namespace でクラスターモニタリングを有効にできます。$ oc label namespace <namespace> openshift.io/cluster-monitoring=true
出力例
namespace/<namespace> labeled
OperatorGroup
オブジェクト YAML ファイルを作成します (例:gitops-operator-group.yaml
)。OperatorGroup の例
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-gitops-operator namespace: openshift-gitops-operator spec: upgradeStrategy: Default
OperatorGroup
をクラスターに適用します。$ oc apply -f gitops-operator-group.yaml
出力例
operatorgroup.operators.coreos.com/openshift-gitops-operator created
Subscription
オブジェクトの YAML ファイルを作成し、namespace を Red Hat OpenShift GitOps Operator にサブスクライブします (例:openshift-gitops-sub.yaml
)。Subscription の例
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: openshift-gitops-operator namespace: openshift-gitops-operator spec: channel: latest 1 installPlanApproval: Automatic name: openshift-gitops-operator 2 source: redhat-operators 3 sourceNamespace: openshift-marketplace 4
Subscription
をクラスターに適用します。$ oc apply -f openshift-gitops-sub.yaml
出力例
subscription.operators.coreos.com/openshift-gitops-operator created
インストールが完了したら、
openshift-gitops
namespace のすべての Pod が実行されていることを確認します。$ oc get pods -n openshift-gitops
出力例
NAME READY STATUS RESTARTS AGE cluster-b5798d6f9-zr576 1/1 Running 0 65m openshift-gitops-application-controller-0 1/1 Running 0 53m openshift-gitops-applicationset-controller-6447b8dfdd-5ckgh 1/1 Running 0 65m openshift-gitops-dex-server-569b498bd9-vf6mr 1/1 Running 0 65m openshift-gitops-redis-74bd8d7d96-49bjf 1/1 Running 0 65m openshift-gitops-repo-server-c999f75d5-l4rsg 1/1 Running 0 65m openshift-gitops-server-5785f7668b-wj57t 1/1 Running 0 53m
openshift-gitops-operator
namespace の Pod が実行されていることを確認します。$ oc get pods -n openshift-gitops-operator
出力例
NAME READY STATUS RESTARTS AGE openshift-gitops-operator-controller-manager-664966d547-vr4vb 2/2 Running 0 65m
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 を作成することはできません。
2.5. 関連情報
第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 ツールを コンテンツゲートウェイ からダウンロードします。
オペレーティングシステム アーキテクチャー Tarball Linux
x86_64、amd64
argocd-linux-amd64.tar.gz
Linux on IBM zSystems および IBM® LinuxONE
s390x
argocd-linux-s390x.tar.gz
Linux on IBM Power
ppc64le
argocd-linux-ppc64le.tar.gz
ARM 上の Linux
aarch64、arm64
argocd-linux-arm64.tar.gz
注記新しいバージョンの CLI ツールは、古いバージョンの Red Hat OpenShift GitOps サーバーと互換性がありますが、その逆は当てはまりません。
次のコマンドを実行してアーカイブを抽出します。
$ tar xvzf <file>
次のコマンドを実行して、バイナリーを
PATH
環境変数のディレクトリーに移動します。$ sudo mv argocd /usr/local/bin/argocd
次のコマンドを実行して、ファイルを実行可能にします。
$ sudo chmod +x /usr/local/bin/argocd
GitOps
argocd
CLI をインストールしたら、次のコマンドを実行して、使用可能であることを確認します。$ argocd version --client
出力例
argocd: v2.9.5+f943664 BuildDate: 2024-02-15T05:19:27Z GitCommit: f9436641a616d277ab1f98694e5ce4c986d4ea05 GitTreeState: clean GoVersion: go1.20.10 Compiler: gc Platform: linux/amd64 ExtraBuildInfo: openshift-gitops-version: 1.12.0, release: 0015022024 1
- 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 refresh
次のコマンドを実行して、利用可能なサブスクリプションをリスト表示します。
# subscription-manager list --available --matches '*gitops*'
前のコマンドの出力で、OpenShift Container Platform サブスクリプションのプール ID を見つけ、次のコマンドを実行して、登録済みのシステムにサブスクリプションをアタッチします。
# subscription-manager attach --pool=<pool_id>
次のコマンドを実行して、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-1.14-for-rhel-8-x86_64-rpms"
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-1.14-for-rhel-8-s390x-rpms"
Linux on IBM Power (ppc64le)
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-ppc64le-rpms"
コマンドの例
# subscription-manager repos --enable="gitops-1.14-for-rhel-8-ppc64le-rpms"
ARM 上の Linux (aarch64、arm64)
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-aarch64-rpms"
コマンドの例
# subscription-manager repos --enable="gitops-1.14-for-rhel-8-aarch64-rpms"
次のコマンドを実行して、
openshift-gitops-argocd-cli
パッケージをインストールします。# yum install openshift-gitops-argocd-cli
GitOps
argocd
CLI をインストールしたら、次のコマンドを実行して、使用可能であることを確認します。$ argocd version --client
出力例
argocd: v2.9.5+f943664 BuildDate: 2024-02-15T05:19:27Z GitCommit: f9436641a616d277ab1f98694e5ce4c986d4ea05 GitTreeState: clean GoVersion: go1.20.10 Compiler: gc Platform: linux/amd64 ExtraBuildInfo: openshift-gitops-version: 1.12.0, release: 0015022024 1
- 1
- Red Hat によってビルドされた Red Hat OpenShift GitOps のビルド情報。
3.3. Windows への Red Hat OpenShift GitOps CLI のインストール
Windows の場合は、GitOps argocd
CLI を圧縮された zip
アーカイブとしてダウンロードできます。
手順
ご使用のオペレーティングシステムとアーキテクチャーに応じた最新バージョンの CLI ツールを コンテンツゲートウェイ からダウンロードします。
オペレーティングシステム アーキテクチャー Tarball Windows
x86_64
argocd-windows-amd64.zip
注記新しいバージョンの CLI ツールは、古いバージョンの Red Hat OpenShift GitOps サーバーと互換性がありますが、その逆は当てはまりません。
- ZIP プログラムでアーカイブを展開します。
次のコマンドを実行して、バイナリーを
PATH
環境変数のディレクトリーに移動します。C:\> move argocd.exe <directory>
GitOps
argocd
CLI をインストールしたら、次のコマンドを実行して、使用可能であることを確認します。$ argocd version --client
出力例
argocd: v2.9.5+f943664 BuildDate: 2024-02-15T05:19:27Z GitCommit: f9436641a616d277ab1f98694e5ce4c986d4ea05 GitTreeState: clean GoVersion: go1.20.10 Compiler: gc Platform: linux/amd64 ExtraBuildInfo: openshift-gitops-version: 1.12.0, release: 0015022024 1
- 1
- Red Hat によってビルドされた Red Hat OpenShift GitOps のビルド情報。
3.4. macOS への Red Hat OpenShift GitOps CLI のインストール
macOS の場合は、GitOps argocd
CLI を tar.gz
アーカイブとしてダウンロードできます。
手順
ご使用のオペレーティングシステムとアーキテクチャーに応じた最新バージョンの CLI ツールを コンテンツゲートウェイ からダウンロードします。
オペレーティングシステム アーキテクチャー Tarball Intel 上の macOS
x86_64
argocd-macos-amd64.tar.gz
ARM 上の macOS
arm64
argocd-macos-arm64.tar.gz
注記新しいバージョンの CLI ツールは、古いバージョンの Red Hat OpenShift GitOps サーバーと互換性がありますが、その逆は当てはまりません。
次のコマンドを実行してアーカイブを抽出します。
$ tar xvzf <file>
次のコマンドを実行して、バイナリーを
PATH
環境変数のディレクトリーに移動します。$ sudo mv argocd /usr/local/bin/argocd
次のコマンドを実行して、ファイルを実行可能にします。
$ sudo chmod +x /usr/local/bin/argocd
GitOps
argocd
CLI をインストールしたら、次のコマンドを実行して、使用可能であることを確認します。$ argocd version --client
出力例
argocd: v2.9.5+f943664 BuildDate: 2024-02-15T05:19:27Z GitCommit: f9436641a616d277ab1f98694e5ce4c986d4ea05 GitTreeState: clean GoVersion: go1.20.10 Compiler: gc Platform: linux/amd64 ExtraBuildInfo: openshift-gitops-version: 1.12.0, release: 0015022024 1
- 1
- Red Hat によってビルドされた Red Hat OpenShift GitOps のビルド情報。