Menu Close

第5章 GitOps

5.1. Red Hat OpenShift GitOps リリースノート

Red Hat OpenShift GitOps は、クラウドネイティブアプリケーションの継続的デプロイメントを実装するための宣言的な方法です。Red Hat OpenShift GitOps は、異なる環境 (開発、ステージ、実稼働環境など) の異なるクラスターにアプリケーションをデプロイする場合に、アプリケーションの一貫性を確保します。Red Hat OpenShift GitOps は、以下のタスクを自動化する上で役立ちます。

  • クラスターに設定、モニタリングおよびストレージについての同様の状態があることの確認。
  • クラスターを既知の状態からのリカバリーまたは再作成。
  • 複数の OpenShift Container Platform クラスターに対する設定変更を適用するか、またはこれを元に戻す。
  • テンプレート化された設定の複数の異なる環境への関連付け。
  • ステージから実稼働環境へと、クラスター全体でのアプリケーションのプロモート。

Red Hat OpenShift GitOps の概要については、「OpenShift GitOps について」を参照してください。

5.1.1. 互換性およびサポート表

現在、今回のリリースに含まれる機能にはテクノロジープレビューのものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。

以下の表では、機能は以下のステータスでマークされています。

  • TP: テクノロジープレビュー機能
  • GA: 一般公開機能
OpenShift GitOpsコンポーネントのバージョンOpenShift Versions

Version

kam

Helm

Kustomize

Argo CD

ApplicationSet

Dex

RH SSO

 

1.4.0

0.0.41 TP

3.7.1 GA

4.2.0 GA

2.2.2 GA

0.2.0 TP

2.30.0 GA

7.4.0 GA

4.7-4.9

1.3.0

0.0.40 TP

3.6.0 GA

4.2.0 GA

2.1.2 GA

0.2.0 TP

2.28.0 GA

7.4.0 GA

4.7-4.9

1.2.0

0.0.38 TP

3.5.0 GA

3.9.4 GA

2.0.5 GA

0.1.0 TP

該当なし

7.4.0 GA

4.8

1.1.0

0.0.32 TP

3.5.0 GA

3.9.4 GA

2.0.0 GA

該当なし

該当なし

該当なし

4.7

  • "kam" は、Red Hat OpenShift GitOps Application Manager (kam) の省略形です。
  • "RH SSO" は Red Hat SSO の省略形です。
  • OpenShift Container Platform Web コンソールの Developer パースペクティブの Environments ページもテクノロジープレビューとしてご利用いただけます。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージをご覧ください。

5.1.3. Release notes for Red Hat OpenShift GitOps 1.4.5

Red Hat OpenShift GitOps 1.4.5 が OpenShift Container Platform 4.7、4.8、4.9、および 4.10 で利用可能になりました。

5.1.3.1. 修正された問題

警告

Red Hat OpenShift GitOps v1.4.3 から Red Hat OpenShift GitOps v1.4.5 に直接アップグレードする必要があります。実稼働環境では、Red Hat OpenShift GitOps v1.4.4 を使用しないでください。Red Hat OpenShift GitOps v1.4.4 に影響のある主な問題は、Red Hat OpenShift GitOps 1.4.5 で修正されました。

以下の問題は、現在のリリースで解決されています。

  • 今回の更新以前は、Argo CD Pod は ErrImagePullBackOff 状態のままでした。以下のエラーメッセージが表示されます。
reason: ErrImagePull
          message: >-
            rpc error: code = Unknown desc = reading manifest
            sha256:ff4ad30752cf0d321cd6c2c6fd4490b716607ea2960558347440f2f370a586a8
            in registry.redhat.io/openshift-gitops-1/argocd-rhel8: StatusCode:
            404, <HTML><HEAD><TITLE>Error</TITLE></HEAD><BODY>

この問題は修正されています。GITOPS-1848

5.1.4. Red Hat OpenShift GitOps 1.4.3 のリリースノート

Red Hat OpenShift GitOps 1.4.3 は OpenShift Container Platform 4.7、4.8、および 4.9 で利用可能になりました。

5.1.4.1. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • 今回の更新以前は、証明書が ArgoCD CR 仕様 tls.initialCerts フィールドで設定されていない限り、argocd-tls-certs-cm 設定マップの TLS 証明書は Red Hat OpenShift GitOps によって削除されました。今回の更新でこの問題は修正されています。GITOPS-1725

5.1.5. Red Hat OpenShift GitOps 1.4.2 のリリースノート

Red Hat OpenShift GitOps 1.4.2 は OpenShift Container Platform 4.7、4.8、および 4.9 で利用可能になりました。

5.1.5.1. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • Argo CD のすべてのバージョンは、Helm チャートで使用される任意の値を渡すことを可能にするパストラバーサルバグに対して脆弱です。今回の更新により、Helm 値ファイルを渡す際の CVE-2022-24348 gitops エラー、パストラバーサル、およびシンボリックリンクの逆参照が修正されました。GITOPS-1756
  • 今回の更新以前は、ルートに複数の Ingress が割り当てられると、Route リソースは Progressing Health ステータスのままになりました。今回の更新により、ヘルスチェックが修正され、Route リソースの正しいヘルスステータスを報告するようになりました。GITOPS-1751

5.1.6. Red Hat OpenShift GitOps 1.4.1 のリリースノート

Red Hat OpenShift GitOps 1.4.1 が OpenShift Container Platform 4.7、4.8、および 4.9. で利用可能になりました。

5.1.6.1. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • Red Hat OpenShift GitOps Operator v1.4.0 では、以下の CRD の spec から説明フィールドを削除するリグレッションが導入されました。

    • argoproj.io_applications.yaml
    • argoproj.io_appprojects.yaml
    • argoproj.io_argocds.yaml

今回の更新以前は、kubectl create を使用して AppProject リソースを作成した場合、同期に失敗していました。今回の更新により、kubectl create が失敗する原因となっていた CustomResourceDefinitions: ArgoCD, AppProject, Application の不足している説明フィールドが復元されました。GITOPS-1721

5.1.7. Red Hat OpenShift GitOps 1.4.0 のリリースノート

Red Hat OpenShift GitOps 1.4.0 は OpenShift Container Platform 4.7、4.8、および 4.9 で利用可能になりました。

5.1.7.1. 新機能

現在のリリースでは、以下の改善点が追加されました。

  • 今回の機能拡張により、Red Hat OpenShift GitOps Application Manager (kam) がバージョン 0.0.41 にアップグレードされました。GITOPS-1669
  • 今回の機能拡張により、Argo CD がバージョン 2.2.2 にアップグレードされました。GITOPS-1532
  • 今回の機能拡張により、Helm がバージョン 3.7.1 にアップグレードされました。GITOPS-1530
  • 今回の機能拡張により、DeploymentConfigRoute、および OLM Operator アイテムのヘルスステータスが Argo CD Dashboard および OpenShift Container Platform Web コンソールに追加されました。この情報は、アプリケーションの全体的なヘルスステータスをモニターする上で役立ちます。GITOPS-655GITOPS-915GITOPS-916GITOPS-1110
  • 今回の更新により、Argo CD カスタムリソースに .spec.server.replicas 属性および .spec.repo.replicas 属性をそれぞれ設定して、argocd-server および argocd-repo-server コンポーネントの必要なレプリカ数を指定できるようになりました。argocd-server コンポーネントの Horizontal Pod Autoscaler (HPA) を設定する場合には、Argo CD カスタムリソース属性よりも優先されます。GITOPS-1245
  • 管理ユーザーとして、argocd.argoproj.io/managed-by ラベルを使用して Argo CD に namespace へのアクセスを許可すると、namespace-admin 権限が引き継がれます。これらの権限は、開発チームなどの非管理者に namespace を提供する管理者にとって問題となります。なぜなら、権限によって非管理者がネットワークポリシーなどのオブジェクトを変更できるからです。

    今回の更新により、管理者はすべての管理対象 namespace に共通のクラスターロールを設定できるようになりました。Argo CD アプリケーションコントローラーのロールバインディングでは、Operator は CONTROLLER_CLUSTER_ROLE 環境変数を参照します。Argo CD サーバーのロールバインディングでは、Operator は SERVER_CLUSTER_ROLE 環境変数を参照します。これらの環境変数にカスタムロールが含まれる場合、Operator はデフォルトの管理者ロールを作成しません。代わりに、すべての管理対象 namespace に既存のカスタムロールを使用します。GITOPS-1290

  • 今回の更新により、OpenShift Container Platform Developer Console の Environment ページには、パフォーマンスが低下したリソースを示す破損したハートのアイコンが表示されます (ステータスが Progressing、Missing、および Unknown のリソースは除きます)。コンソールには、同期していないリソースを示す黄色の yield 記号のアイコンが表示されます。GITOPS-1307

5.1.7.2. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • 今回の更新以前は、URL にパスを指定せずに Red Hat OpenShift GitOps Application Manager (kam) への Route にアクセスすると、有用な情報が表示されないデフォルトページがユーザーに表示されていました。今回の更新で問題が修正され、デフォルトのページに kam のダウンロードリンクが表示されるようになりました。GITOPS-923
  • 今回の更新以前は、Argo CD カスタムリソースの namespace にリソースクォータを設定すると、Red Hat SSO (RH SSO) インスタンスのセットアップが失敗する可能性がありました。今回の更新では、RH SSO デプロイメント Pod の最小リソース要求を設定することで、この問題を修正しています。GITOPS-1297
  • 今回の更新以前は、argocd-repo-server ワークロードのログレベルを変更すると、Operator はこの設定を調整しませんでした。回避策は、デプロイメントリソースを削除して、Operator が新しいログレベルでリソースを再作成するようにすることでした。今回の更新により、ログレベルは既存の argocd-repo-server ワークロードに対して適切に調整されるようになりました。GITOPS-1387
  • 今回の更新以前は、Operator が argocd-secret Secret に .data フィールドがない Argo CD インスタンスを管理すると、そのインスタンスの Operator がクラッシュしていました。今回の更新により問題が修正され、.data フィールドがない場合に Operator がクラッシュしなくなりました。代わりに、シークレットが再生成され、gitops-operator-controller-manager リソースが再デプロイされます。GITOPS-1402
  • 今回の更新以前は、gitopsservice サービスには、内部オブジェクトとしてのアノテーションが付けられていました。今回の更新によりアノテーションが削除され、デフォルトの Argo CD インスタンスを更新または削除し、UI を使用してインフラストラクチャーノードで GitOps ワークロードを実行できるようになりました。GITOPS-1429

5.1.7.3. 既知の問題

現行リリースの既知の問題は以下のとおりです。

  • Dex 認証プロバイダーから Keycloak プロバイダーに移行すると、Keycloak でログインの問題が発生する可能性があります。

    この問題を防ぐには、移行時に Argo CD カスタムリソースから .spec.dex セクションを削除して Dex をアンインストールします。Dex が完全にアンインストールするまで数分待ちます。次に、.spec.sso.provider: keycloak を Argo CD カスタムリソースに追加して Keycloak をインストールします。

    回避策として、.spec.sso.provider: keycloak を削除して Keycloak をアンインストールします。次に、再インストールします。GITOPS-1450GITOPS-1331

5.1.8. Red Hat OpenShift GitOps 1.3.3 のリリースノート

Red Hat OpenShift GitOps 1.3.3 は OpenShift Container Platform 4.7、4.8、および 4.9 で利用可能になりました。

5.1.8.1. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • Argo CD のすべてのバージョンは、Helm チャートで使用される任意の値を渡すことを可能にするパストラバーサルバグに対して脆弱です。今回の更新により、Helm 値ファイルを渡す際の CVE-2022-24348 gitops エラー、パストラバーサル、およびシンボリックリンクの逆参照が修正されました。GITOPS-1756

5.1.9. Red Hat OpenShift GitOps 1.3.2 のリリースノート

Red Hat OpenShift GitOps 1.3.2 は OpenShift Container Platform 4.6、4.7、4.8 および 4.9 で利用可能になりました。

5.1.9.1. 新機能

以下のセクションでは、修正および安定性の面での改善点に加え、Red Hat OpenShift GitOps 1.3.2 の主な新機能について説明します。

  • Argo CD をバージョン 2.1.8 にアップグレード
  • Dex をバージョン 2.30.0 にアップグレード

5.1.9.2. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • 以前のバージョンでは、Infrastructure Features セクションの OperatorHub UI で、Disconnected でフィルタリングした場合、Red Hat OpenShift GitOps Operator は 検索結果に表示されませんでした。これは、Operator の CSV ファイルに関連するアノテーションが設定されていないことが原因でした。今回の更新により、Disconnected Cluster アノテーションがインフラストラクチャー機能として Red Hat OpenShift GitOps Operator に追加されました。GITOPS-1539
  • Namespace-scoped Argo CD インスタンス (例: クラスターの All Namepsaces にスコープされていない Argo CD インスタンス) を使用する場合、Red Hat OpenShift GitOps は管理対象の namespace の一覧を動的に維持します。これらの namespace には argocd.argoproj.io/managed-by ラベルが含まれます。この namespace の一覧は、Argo CD → Settings → Clusters → "in-cluster" → NAMESPACES のキャッシュに保存されます。今回の更新以前は、これらの namespace のいずれかを削除すると、Operator はそれを無視し、namespace は一覧に残りました。この動作はクラスター設定の CONNECTION STATE を破損し、すべての同期の試みがエラーになりました。以下は例になります。

    Argo service account does not have <random_verb> on <random_resource_type> in namespace <the_namespace_you_deleted>.

    このバグは修正されています。GITOPS-1521

  • 今回の更新により、Red Hat OpenShift GitOps Operator には Deep Insights 機能レベルのアノテーションが付けられています。GITOPS-1519
  • 以前のバージョンでは、Argo CD Operator は resource.exclusion フィールドを独自に管理していましたが、resource.inclusion フィールドを無視していました。これにより、Argo CD CR に設定された resource.inclusion フィールドが argocd-cm 設定マップで生成できませんでした。このバグは修正されています。GITOPS-1518

5.1.10. Red Hat OpenShift GitOps 1.3.1 のリリースノート

Red Hat OpenShift GitOps 1.3.1 は OpenShift Container Platform 4.6、4.7、4.8、および 4.9 で利用可能になりました。

5.1.10.1. 修正された問題

  • v1.3.0 にアップグレードする場合、Operator は環境変数の順序付けられたスライスを返しません。その結果、リコンサイラーが失敗し、プロキシーの背後で実行される OpenShift Container Platform クラスターでの Argo CD Pod の再作成が頻繁に生じます。今回の更新によりこの問題を修正し、Argo CD Pod が再作成されなくなりました。GITOPS-1489

5.1.11. Red Hat OpenShift GitOps 1.3 のリリースノート

Red Hat OpenShift GitOps 1.3 を OpenShift Container Platform 4.7 および 4.8、4.9 でご利用いただけるようになりました。

5.1.11.1. 新機能

以下のセクションでは、修正および安定性の面での改善点に加え、Red Hat OpenShift GitOps 1.3.0 の主な新機能について説明します。

  • v1.3.0 の新規インストールでは、Dex が自動的に設定されます。OpenShift または kubeadmin 認証情報を使用して、openshift-gitops namespace のデフォルトの Argo CD インスタンスにログインできます。管理者は、Operator のインストール後に Dex インストールを無効にすることができます。これにより、openshift-gitops namespace から Dex デプロイメントが削除されます。
  • Operator によってインストールされるデフォルトの Argo CD インスタンスおよび付随するコントローラーは、単純な設定の切り替えを設定することで、クラスターのインフラストラクチャーノードで実行できるようになりました。
  • Argo CD の内部通信は、TLS および OpenShift クラスター証明書を使用して保護できるようになりました。Argo CD ルートは、cert-manager などの外部証明書マネージャーの使用に加えて、OpenShift クラスター証明書を使用できるようになりました。
  • コンソール 4.9 の Developer パースペクティブの改善された environment details ビューを使用して、Git Ops 環境への洞察を得ます。
  • OLM を使用してインストールされた DeploymentConfig リソース、Route リソース、および Operator の Argo CD のカスタムヘルスチェックにアクセスできるようになりました。
  • GitOps Operator は、最新の Operator-SDK で推奨される命名規則に準拠するようになりました。

    • プレフィックス gitops-operator- がすべてのリソースに追加されます。
    • サービスアカウントの名前が gitops-operator-controller-manager に変更されました。

5.1.11.2. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • 以前のバージョンでは、新規 namespace が Argo CD の新規インスタンスによって管理されるように設定される場合、Operator が新規 namespace を管理するために作成する新規ロールおよびバインディングにより、すぐに 非同期 になっていました。この動作は修正されています。GITOPS-1384

5.1.11.3. 既知の問題

  • Dex 認証プロバイダーから Keycloak プロバイダーに移行する際に、Keycloak でログイン問題が発生する可能性があります。GITOPS-1450

    上記の問題を防ぐには、移行時に Argo CD カスタムリソースにある .spec.dex セクションを削除して Dex をアンインストールします。Dex が完全にアンインストールされるまで数分待機してから、.spec.sso.provider: keycloak を Argo CD カスタムリソースに追加して Keycloak のインストールに進みます。

    回避策として、.spec.sso.provider: keycloak を削除して Keycloak をアンインストールしてから、再インストールします。

5.1.12. Red Hat OpenShift GitOps 1.2.1 のリリースノート

Red Hat OpenShift GitOps 1.2.1 を OpenShift Container Platform 4.7 および 4.8 でご利用いただけるようになりました。

5.1.12.1. サポート表

現在、今回のリリースに含まれる機能にはテクノロジープレビューのものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。

テクノロジープレビュー機能のサポート範囲

以下の表では、機能は以下のステータスでマークされています。

  • TP: テクノロジープレビュー機能
  • GA: 一般公開機能

これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。

表5.1 サポート表

機能Red Hat OpenShift GitOps 1.2.1

Argo CD

GA

Argo CD ApplicationSet

TP

Red Hat OpenShift GitOps Application Manager (kam)

TP

5.1.12.2. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • 以前のバージョンでは、起動時にアプリケーションコントローラーでメモリーが大幅に急増していました。アプリケーションコントローラーのフラグ --kubectl-parallelism-limit は、デフォルトで 10 に設定されますが、この値は Argo CD CR 仕様に .spec.controller.kubeParallelismLimit の数字を指定して上書きできます。GITOPS-1255
  • 最新の Triggers APIs により、kam bootstrap コマンドの使用時に kustomization.yaml のエントリーが重複していることが原因で、Kubernetes のビルドが失敗しました。この問題に対処するために、Pipelines および Tekton トリガーコンポーネントが v0.24.2 および v0.14.2 にそれぞれ更新されました。GITOPS-1273
  • ソース namespace から Argo CD インスタンスが削除されると、永続的な RBAC ロールおよびバインディングがターゲット namespace から自動的に削除されるようになりました。GITOPS-1228
  • 以前のバージョンでは、Argo CD インスタンスを namespace にデプロイする際に、Argo CD インスタンスは "managed-by" ラベルを独自の namespace に変更していました。今回の修正により、namespace のラベルが解除されると同時に、namespace に必要な RBAC ロールおよびバインディングが作成され、削除されるようになりました。GITOPS-1247
  • 以前のバージョンでは、Argo CD ワークロードのデフォルトのリソース要求制限 (特に repo-server およびアプリケーションコントローラーの制限)が、非常に厳しかったことがわかりました。現在は、既存のリソースクォータが削除され、リポジトリーサーバーのデフォルトのメモリー制限が 1024M に増えました。この変更は新規インストールにのみ影響することに注意してください。既存の Argo CD インスタンスのワークロードには影響はありません。GITOPS-1274

5.1.13. Red Hat OpenShift GitOps 1.2 のリリースノート

Red Hat OpenShift GitOps 1.2 を OpenShift Container Platform 4.7 および 4.8、4.9 でご利用いただけるようになりました。

5.1.13.1. サポート表

現在、今回のリリースに含まれる機能にはテクノロジープレビューのものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。

テクノロジープレビュー機能のサポート範囲

以下の表では、機能は以下のステータスでマークされています。

  • TP: テクノロジープレビュー機能
  • GA: 一般公開機能

これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。

表5.2 サポート表

機能Red Hat OpenShift GitOps 1.2

Argo CD

GA

Argo CD ApplicationSet

TP

Red Hat OpenShift GitOps Application Manager (kam)

TP

5.1.13.2. 新機能

以下のセクションでは、修正および安定性の面での改善点に加え、Red Hat OpenShift GitOps 1.2 の主な新機能について説明します。

  • openshift-gitops namespace への読み取りまたは書き込みアクセスがない場合、GitOps Operator で DISABLE_DEFAULT_ARGOCD_INSTANCE 環境変数を使用でき、値を TRUE に設定し、デフォルトの Argo CD インスタンスが openshift-gitops namespace で開始されないようにすることができます。
  • リソース要求および制限は Argo CD ワークロードで設定されるようになりました。リソースクォータは openshift-gitops namespace で有効になっています。そのため、openshift-gitops namespace に手動でデプロイされる帯域外ワークロードは、リソース要求および制限で設定し、リソースクォータを増やす必要がある場合があります。
  • Argo CD 認証は Red Hat SSO と統合され、クラスターの OpenShift 4 アイデンティティープロバイダーに自動的に設定されるようになりました。この機能はデフォルトで無効にされています。Red Hat SSO を有効にするには、以下に示すように ArgoCD CR に SSO 設定を追加します。現在、keycloak が唯一サポートされているプロバイダーです。

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: basic
    spec:
      sso:
        provider: keycloak
      server:
        route:
         enabled: true
  • ルートラベルを使用してホスト名を定義して、ルーターのシャード化をサポートするようになりました。server (argocd サーバー)、grafana ルートおよび prometheus ルートに対するラベルの設定のサポートが利用可能になりました。ルートにラベルを設定するには、ArgoCD CR のサーバーのルート設定に labels を追加します。

    argocd サーバーにラベルを設定する ArgoCD CR YAML の例

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: basic
    spec:
      server:
        route:
         enabled: true
         labels:
           key1: value1
           key2: value2

  • GitOps Operator は、ラベルを適用してターゲット namespace のリソースを管理するために Argo CD インスタンスへのパーミッションを自動的に付与するようになりました。ユーザーは、ターゲット namespace に argocd.argoproj.io/managed-by: <source-namespace> のラベルを付けます。source-namespace は、argocd インスタンスがデプロイされる namespace に置き換えます。

5.1.13.3. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • 以前のバージョンでは、ユーザーが openshift-gitops namespace のデフォルトのクラスターインスタンスで管理される Argo CD の追加のインスタンスを作成した場合は、新規の Argo CD インスタンスに対応するアプリケーションが OutOfSync ステータスのままになる可能性がありました。この問題は、所有者の参照をクラスターシークレットに追加することで解決されています。GITOPS-1025

5.1.13.4. 既知の問題

これらは Red Hat OpenShift GitOps 1.2 の既知の問題です。

  • Argo CD インスタンスがソース namespace から削除されると、ターゲット namespace の argocd.argoproj.io/managed-by ラベルは削除されません。GITOPS-1228
  • リソースクォータが Red Hat OpenShift GitOps 1.2 の openshift-gitops namespace で有効になっています。これは、手動でデプロイされる帯域外ワークロードおよび openshift-gitops namespace のデフォルトの Argo CD インスタンスによってデプロイされるワークロードに影響を及ぼします。Red Hat OpenShift GitOps v1.1.2 から v1.2 にアップグレードする場合は、このようなワークロードをリソース要求および制限で設定する必要があります。追加のワークロードがある場合は、openshift-gitops namespace のリソースクォータを増やす必要があります。

    openshift-gitops namespace の現在のリソースクォータ。

    リソース要求制限

    CPU

    6688m

    13750m

    メモリー

    4544Mi

    9070Mi

    以下のコマンドを使用して CPU 制限を更新できます。

    $ oc patch resourcequota openshift-gitops-compute-resources -n openshift-gitops --type='json' -p='[{"op": "replace", "path": "/spec/hard/limits.cpu", "value":"9000m"}]'

    以下のコマンドを使用して CPU 要求を更新できます。

    $ oc patch resourcequota openshift-gitops-compute-resources -n openshift-gitops --type='json' -p='[{"op": "replace", "path": "/spec/hard/cpu", "value":"7000m"}]

    上記のコマンドのパスは、cpu から memory を置き換えてメモリーを更新できます。

5.1.14. Red Hat OpenShift GitOps 1.1 のリリースノート

Red Hat OpenShift GitOps 1.1 を OpenShift Container Platform 4.7 でご利用いただけるようになりました。

5.1.14.1. サポート表

現在、今回のリリースに含まれる機能にはテクノロジープレビューのものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。

テクノロジープレビュー機能のサポート範囲

以下の表では、機能は以下のステータスでマークされています。

  • TP: テクノロジープレビュー機能
  • GA: 一般公開機能

これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。

表5.3 サポート表

機能Red Hat OpenShift GitOps 1.1

Argo CD

GA

Argo CD ApplicationSet

TP

Red Hat OpenShift GitOps Application Manager (kam)

TP

5.1.14.2. 新機能

以下のセクションでは、修正および安定性の面での改善点に加え、Red Hat OpenShift GitOps 1.1 の主な新機能について説明します。

  • ApplicationSet 機能が追加されました (テクノロジープレビュー)。ApplicationSet 機能は、多数のクラスターまたはモノリポジトリー内で Argo CD アプリケーションを管理する際に、自動化およびより大きな柔軟性を可能にします。また、マルチテナント Kubernetes クラスターでセルフサービスを使用できるようにします。
  • Argo CD はクラスターロギングスタックおよび OpenShift Container Platform Monitoring およびアラート機能に統合されるようになりました。
  • Argo CD 認証が OpenShift Container Platform に統合されるようになりました。
  • Argo CD アプリケーションコントローラーが水平的なスケーリングをサポートするようになりました。
  • Argo CD Redis サーバーが高可用性 (HA) をサポートするようになりました。

5.1.14.3. 修正された問題

以下の問題は、現在のリリースで解決されています。

  • 以前のバージョンでは、Red Hat OpenShift GitOps は、アクティブなグローバルプロキシー設定のあるプロキシーサーバー設定で予想通りに機能しませんでした。この問題は修正され、Argo CD は Pod の完全修飾ドメイン名 (FQDN) を使用して Red Hat OpenShift GitOps Operator によって設定され、コンポーネント間の通信を有効にできるようになりました。GITOPS-703
  • Red Hat OpenShift GitOps バックエンドは、Red Hat OpenShift GitOps URL の ?ref= クエリーパラメーターを使用して API 呼び出しを行います。以前のバージョンでは、このパラメーターは URL から読み取られず、バックエンドでは常にデフォルトの参照が考慮されました。この問題は修正され、Red Hat OpenShift GitOps バックエンドは Red Hat OpenShift GitOps URL から参照クエリーパラメーターを抽出し、入力参照が指定されていない場合にのみデフォルトの参照を使用します。GITOPS-817
  • 以前のバージョンでは、Red Hat OpenShift GitOps バックエンドは有効な GitLab リポジトリーを見つけることができませんでした。これは、Red Hat OpenShift GitOps バックエンドが GitLab リポジトリーの master ではなく、ブランチ参照として main の有無を確認していたためです。この問題は修正されています。GITOPS-768
  • OpenShift Container Platform Web コンソールの Developer パースペクティブの Environments ページには、アプリケーションの一覧および環境の数が表示されるようになりました。このページには、すべてのアプリケーションを一覧表示する Argo CD Applications ページに転送する Argo CD リンクも表示されます。Argo CD Applications ページには、選択したアプリケーションのみをフィルターできる LABELS (例: app.kubernetes.io/name=appName) があります。GITOPS-544

5.1.14.4. 既知の問題

これらは Red Hat OpenShift GitOps 1.1 の既知の問題です。

  • Red Hat OpenShift GitOps は Helm v2 および ksonnet をサポートしません。
  • Red Hat SSO (RH SSO) Operator は、非接続クラスターではサポートされません。そのため、Red Hat OpenShift GitOps Operator および RH SSO 統合は非接続クラスターではサポートされません。
  • OpenShift Container Platform Web コンソールから Argo CD アプリケーションを削除すると、Argo CD アプリケーションはユーザーインターフェースで削除されますが、デプロイメントは依然としてクラスターに残ります。回避策として、Argo CD コンソールから Argo CD アプリケーションを削除します。GITOPS-830

5.1.14.5. 互換性を破る変更

5.1.14.5.1. Red Hat OpenShift GitOps v1.0.1 からのアップグレード

Red Hat OpenShift GitOps v1.0.1 から v1.1 にアップグレードすると、Red Hat OpenShift GitOps Operator は openshift-gitops namespace で作成されたデフォルトの Argo CD インスタンスの名前を argocd-cluster から openshift-gitops に変更します。

これは互換性を破る変更であり、アップグレード前に以下の手順を手動で実行する必要があります。

  1. OpenShift Container Platform Web コンソールに移動し、openshift-gitops namespace の argocd-cm.yml 設定マップファイルの内容をローカルファイルにコピーします。コンテンツの例を以下に示します。

    argocd 設定マップ YAML の例

    kind: ConfigMap
    apiVersion: v1
    metadata:
    selfLink: /api/v1/namespaces/openshift-gitops/configmaps/argocd-cm
    resourceVersion: '112532'
    name: argocd-cm
    uid: f5226fbc-883d-47db-8b53-b5e363f007af
    creationTimestamp: '2021-04-16T19:24:08Z'
    managedFields:
    ...
    namespace: openshift-gitops
    labels:
      app.kubernetes.io/managed-by: argocd-cluster
      app.kubernetes.io/name: argocd-cm
      app.kubernetes.io/part-of: argocd
    data: "" 1
    admin.enabled: 'true'
    statusbadge.enabled: 'false'
    resource.exclusions: |
      - apiGroups:
        - tekton.dev
        clusters:
        - '*'
        kinds:
        - TaskRun
        - PipelineRun
    ga.trackingid: ''
    repositories: |
      - type: git
        url: https://github.com/user-name/argocd-example-apps
    ga.anonymizeusers: 'false'
    help.chatUrl: ''
    url: >-
      https://argocd-cluster-server-openshift-gitops.apps.dev-svc-4.7-041614.devcluster.openshift.com   "" 2
    help.chatText: ''
    kustomize.buildOptions: ''
    resource.inclusions: ''
    repository.credentials: ''
    users.anonymous.enabled: 'false'
    configManagementPlugins: ''
    application.instanceLabelKey: ''

    1
    argocd-cm.yml 設定マップファイルの内容の data セクションのみを手動で復元します。
    2
    設定マップエントリーの URL の値を、新規インスタンス名 openshift-gitops に置き換えます。
  2. デフォルトの argocd-cluster インスタンスを削除します。
  3. 新規の argocd-cm.yml 設定マップファイルを編集して、data セクション全体を手動で復元します。
  4. 設定マップエントリーの URL の値を、新規インスタンス名 openshift-gitops に置き換えます。たとえば、前述の例では、URL の値を以下の URL の値に置き換えます。

    url: >-
      https://openshift-gitops-server-openshift-gitops.apps.dev-svc-4.7-041614.devcluster.openshift.com
  5. Argo CD クラスターにログインし、直前の設定が存在することを確認します。