GitOps のインストール


Red Hat OpenShift GitOps 1.15

OpenShift GitOps Operator をインストールし、Argo CD インスタンスにログインして、GitOps CLI をインストールする

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、OpenShift GitOps Operator をインストールするためのサイジング要件と前提条件を説明します。また、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"
  }
}

1
Pod に割り当てられた最高のリソース制限しきい値。
2
Pod に割り当てられた最小のリソース制限しきい値。

次のコマンド例は、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 をインストールできます。

手順

  1. Web コンソールの Administrator パースペクティブを開き、OperatorsOperatorHub に移動します。
  2. OpenShift GitOps を検索し、Red Hat OpenShift GitOps タイルをクリックし、Install をクリックします。
  3. Install Operator ページで以下を行います。

    1. Update channel を選択します。
    2. インストールする GitOps Version を選択します。
    3. Installed Namespace を選択します。デフォルトのインストール namespace は openshift-gitops-operator です。

      注記

      GitOps バージョン 1.10 以降では、デフォルトの namespace が openshift-operators から openshift-gitops operator に変更されました。

    4. 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

  4. Install をクリックし、GitOps Operator を OpenShift Container Platform クラスターで利用可能にします。

    Red Hat OpenShift GitOps は、クラスターのすべての namespace にインストールされます。

  5. Red Hat OpenShift GitOps Operator が、OperatorsInstalled Operators に一覧表示されていることを確認します。StatusSucceeded に解決されるはずです。

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 に変更されました。

手順

  1. 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

  2. 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

  3. OperatorGroup をクラスターに適用します。

    $ oc apply -f gitops-operator-group.yaml

    出力例

    operatorgroup.operators.coreos.com/openshift-gitops-operator created

  4. 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

    1
    Operator のサブスクライブ元のチャネル名を指定します。
    2
    サブスクライブする Operator の名前を指定します。
    3
    Operator を提供する CatalogSource の名前を指定します。
    4
    CatalogSource の namespace。デフォルトの OperatorHub CatalogSource には openshift-marketplace を使用します。
  5. Subscription をクラスターに適用します。

    $ oc apply -f openshift-gitops-sub.yaml

    出力例

    subscription.operators.coreos.com/openshift-gitops-operator created

  6. インストールが完了したら、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

  7. 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 クラスターにインストールされている。

手順

  1. Web コンソールの Administrator パースペクティブで、OperatorsInstalled Operators に移動し、Red Hat OpenShift GitOps Operator がインストールされていることを確認します。
  2. red hat applications menu icon メニュー → OpenShift GitOpsCluster Argo CD の順に移動します。Argo CD UI のログインページは、新規ウィンドウに表示されます。
  3. オプション: OpenShift Container Platform の認証情報でログインするには、cluster-admins グループのユーザーであることを確認してから、Argo CD ユーザーインターフェイスで LOG IN VIA OPENSHIFT オプションを選択します。

    注記

    cluster-admins グループのユーザーになるには、oc adm groups new cluster-admins <user> コマンドを使用します。この場合の <user> は、クラスター全体またはローカルでユーザーおよびグループにバインドできるデフォルトのクラスターロールです。

  4. Argo CD インスタンスのパスワードを取得します。

    1. ナビゲーションパネルを使用して、WorkloadsSecrets ページに移動します。
    2. Project ドロップダウンリストを使用して、Argo CD インスタンスが作成される namespace を選択します。
    3. パスワードを表示するには、<argo_CD_instance_name>-cluster インスタンスを選択します。
    4. Details タブで、Dataadmin.password の下にあるパスワードをコピーします。
  5. Usernameadmin を使用し、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 サブスクリプションがある場合は、yumdnf などのパッケージマネージャーを使用して CLI ツールを RPM としてインストールします。

3.1. Linux への Red Hat OpenShift GitOps CLI のインストール

Linux ディストリビューションの場合、GitOps argocd CLI を tar.gz アーカイブとしてダウンロードできます。

手順

  1. ご使用のオペレーティングシステムとアーキテクチャーに応じた最新バージョンの 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 サーバーと互換性がありますが、その逆は当てはまりません。

  2. 次のコマンドを実行してアーカイブを抽出します。

    $ tar xvzf <file>
  3. 次のコマンドを実行して、バイナリーを PATH 環境変数のディレクトリーに移動します。

    $ sudo mv argocd /usr/local/bin/argocd
  4. 次のコマンドを実行して、ファイルを実行可能にします。

    $ sudo chmod +x /usr/local/bin/argocd
  5. 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 以降では、yumdnf などのパッケージマネージャーを使用して、GitOps argocd CLI を RPM としてインストールできます。これにより、GitOps argocd CLI バージョンがシステムによって自動的に管理されるようになります。たとえば、dnf upgrade などのコマンドを使用すると、新しいバージョンが利用可能な場合は argocd を含むすべてのパッケージがアップグレードされます。

前提条件

  • お使いの Red Hat アカウントに有効な OpenShift Container Platform サブスクリプションがある。
  • ローカルシステムに root または sudo 権限がある。

手順

  1. 次のコマンドを実行して、Red Hat Subscription Manager に登録します。

    # subscription-manager register
  2. 次のコマンドを実行して、最新のサブスクリプションデータを取得します。

    # subscription-manager refresh
  3. 次のコマンドを実行して、利用可能なサブスクリプションをリスト表示します。

    # subscription-manager list --available --matches '*gitops*'
  4. 前のコマンドの出力で、OpenShift Container Platform サブスクリプションのプール ID を見つけ、次のコマンドを実行して、登録済みのシステムにサブスクリプションをアタッチします。

    # subscription-manager attach --pool=<pool_id>
  5. 次のコマンドを実行して、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"

  6. 次のコマンドを実行して、openshift-gitops-argocd-cli パッケージをインストールします。

    # yum install openshift-gitops-argocd-cli
  7. 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 アーカイブとしてダウンロードできます。

手順

  1. ご使用のオペレーティングシステムとアーキテクチャーに応じた最新バージョンの CLI ツールを コンテンツゲートウェイ からダウンロードします。

    オペレーティングシステムアーキテクチャーTarball

    Windows

    x86_64

    argocd-windows-amd64.zip

    注記

    新しいバージョンの CLI ツールは、古いバージョンの Red Hat OpenShift GitOps サーバーと互換性がありますが、その逆は当てはまりません。

  2. ZIP プログラムでアーカイブを展開します。
  3. 次のコマンドを実行して、バイナリーを PATH 環境変数のディレクトリーに移動します。

    C:\> move argocd.exe <directory>
  4. 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 アーカイブとしてダウンロードできます。

手順

  1. ご使用のオペレーティングシステムとアーキテクチャーに応じた最新バージョンの CLI ツールを コンテンツゲートウェイ からダウンロードします。

    オペレーティングシステムアーキテクチャーTarball

    Intel 上の macOS

    x86_64

    argocd-macos-amd64.tar.gz

    ARM 上の macOS

    arm64

    argocd-macos-arm64.tar.gz

    注記

    新しいバージョンの CLI ツールは、古いバージョンの Red Hat OpenShift GitOps サーバーと互換性がありますが、その逆は当てはまりません。

  2. 次のコマンドを実行してアーカイブを抽出します。

    $ tar xvzf <file>
  3. 次のコマンドを実行して、バイナリーを PATH 環境変数のディレクトリーに移動します。

    $ sudo mv argocd /usr/local/bin/argocd
  4. 次のコマンドを実行して、ファイルを実行可能にします。

    $ sudo chmod +x /usr/local/bin/argocd
  5. 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.5. 関連情報

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutube

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.