第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サポート状況

バージョン

kam

Helm

Kustomize

Argo CD

ApplicationSet

Dex

  

1.6.0

0.0.46 TP

3.8.1 GA

4.4.1 GA

2.4.5 GA

2.4.5 GA

2.30.3 GA

4.8-4.11

GA

1.5.0

0.0.42 TP

3.8.0 GA

4.4.1 GA

2.3.3 GA

0.4.1 TP

2.30.3 GA

4.8-4.11

GA

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

4.7-4.11

GA

1.3.0

0.0.40

3.6.0

4.2.0

2.1.2

0.2.0

2.28.0

4.7-4.9

GA

1.2.0

0.0.38

3.5.0

3.9.4

2.0.5

0.1.0

該当なし

4.8

GA

1.1.0

0.0.32

3.5.0

3.9.4

2.0.0

該当なし

該当なし

4.7

GA

注記

OpenShift Container Platform で Red Hat OpenShift GitOps v1.3 を使用するには、Red Hat OpenShift GitOps 4.6 の新規インストールを実行します。OpenShift 4.6 の Red Hat OpenShift GitOps 1.0(TP) からのアップグレードパスはありません。

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

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

5.1.3. Red Hat OpenShift GitOps 1.6.6 のリリースノート

Red Hat OpenShift GitOps 1.6.6 が OpenShift Container Platform 4.8、4.9、4.10、および 4.11 で利用できるようになりました。

5.1.3.1. 修正された問題

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

  • この更新が行われる前は、v0.5.0 以降の Argo CD Operator のすべてのバージョンに情報漏えいの欠陥が存在しました。その結果、権限のないユーザーが API エラーメッセージを検査してアプリケーション名を列挙し、発見されたアプリケーション名を別の攻撃の開始点として使用する可能性があります。たとえば、攻撃者はアプリケーション名に関する知識を利用して、管理者に高い権限を付与するよう説得する可能性があります。この更新により、CVE-2022-41354 エラーが修正されます。GITOPS-2635CVE-2022-41354

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

Red Hat OpenShift GitOps 1.6.7 が OpenShift Container Platform 4.8、4.9、4.10、および 4.11 で利用できるようになりました。

5.1.4.1. 修正された問題

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

  • この更新が行われる前は、v0.5.0 以降の Argo CD Operator のすべてのバージョンに情報漏えいの欠陥が存在しました。その結果、権限のないユーザーが API エラーメッセージを検査してアプリケーション名を列挙し、発見されたアプリケーション名を別の攻撃の開始点として使用する可能性があります。たとえば、攻撃者はアプリケーション名に関する知識を利用して、管理者に高い権限を付与するよう説得する可能性があります。この更新により、CVE-2022-41354 エラーが修正されます。GITOPS-2635CVE-2022-41354

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

Red Hat OpenShift GitOps 1.6.2 は、OpenShift Container Platform 4.8、4.9、4.10、および 4.11 で利用できるようになりました。

5.1.5.1. 修正された問題

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

  • この更新の前は、プロジェクトに 5 つを超える Operator がインストールされていると、InstallPlan が欠落しているため、サブスクリプションのヘルスチェックは degraded とマークされていました。今回の更新でこの問題が修正されています。GITOPS-2018
  • この更新の前は、Red Hat OpenShift GitOps Operator は、Argo CD インスタンスが非推奨のフィールドを使用していることを検出すると、非推奨通知の警告をクラスターに送信していました。今回の更新でこの問題が修正され、フィールドを検出したインスタンスごとに警告イベントが 1 つだけ表示されるようになりました。GITOPS-2230
  • OpenShift Container Platform 4.12 以降、コンソールのインストールはオプションです。この修正により、Red Hat OpenShift GitOps Operator が更新され、コンソールがインストールされていない場合に Operator でエラーが発生するのを防ぐことができます。GITOPS-2352

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

Red Hat OpenShift GitOps 1.6.1 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.6.1. 修正された問題

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

  • この更新の前は、ライブネスプローブが応答しないため、多数のアプリケーションでアプリケーションコントローラーが複数回再起動されていました。この更新は、アプリケーションコントローラーの StatefulSet オブジェクトで liveness プローブを削除することにより、問題を修正します。GITOPS-2153
  • この更新の前は、証明機関によって署名されていない証明書を使用してセットアップされていると、RHSSO 証明書を検証できませんでした。今回の更新で問題が修正され、通信時に Keycloak の TLS 証明書を検証する際に使用されるカスタム証明書を提供できるようになりました。rootCA を Argo CD カスタムリソース .spec.keycloak.rootCA フィールドに追加できます。Operator はこの変更を調整し、argocd-cm ConfigMapoidc.config フィールドを PEM エンコードされたルート証明書で更新します。GITOPS-2214

    注記

    .spec.keycloak.rootCA フィールドを更新した後、Argo CD サーバー Pod を再起動します。

    以下に例を示します。

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: basic
    spec:
      sso:
        provider: keycloak
        keycloak:
         rootCA: |
           ---- BEGIN CERTIFICATE ----
           This is a dummy certificate
           Please place this section with appropriate rootCA
           ---- END CERTIFICATE ----
      server:
        route:
          enabled: true
  • この更新の前は、Argo CD に管理されていた namespace が終了すると、ロールの作成や他の管理された namespace のその他の設定がブロックされていました。今回の更新でこの問題は修正されています。GITOPS-2277
  • この更新の前は、anyuid の SCC が Dex ServiceAccount リソースに割り当てられている場合、Dex Pod は CreateContainerConfigError で開始できませんでした。この更新プログラムでは、デフォルトのユーザー ID を Dex コンテナーに割り当てることで、この問題を修正しています。GITOPS-2235

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

Red Hat OpenShift GitOps 1.6.0 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.7.1. 新機能

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

  • 以前は、Argo CD ApplicationSet コントローラーはテクノロジープレビュー (TP) 機能でした。この更新により、これは一般提供 (GA) 機能になります。GITOPS-1958
  • 今回の更新により、Red Hat OpenShift GitOps の最新リリースが latest のバージョンベースのチャネルで利用できるようになりました。これらのアップグレードを取得するには、Subscription オブジェクト YAML ファイルの channel パラメーターを更新します。値を stable から latest または gitops-1.6 などのバージョンベースのチャンネルに変更します。GITOPS-1791
  • 今回の更新により、keycloak 設定を制御する spec.sso フィールドのパラメーターが .spec.sso.keycloak に移動されるようになりました。.spec.dex フィールドのパラメーターが .spec.sso.dex に追加されました。.spec.sso.provider の使用を開始して、Dex を有効または無効にします。.spec.dex パラメーターは非推奨であり、キークローク設定の DISABLE_DEX および .spec.sso フィールドとともに、バージョン 1.9 で削除される予定です。GITOPS-1983
  • 今回の更新により、Argo CD 通知コントローラーは、Argo CD カスタムリソース定義の .spec.notifications.enabled パラメーターを使用して有効または無効にできるオプションのワークロードです。Argo CD 通知コントローラーは、テクニカルプレビュー機能です。GITOPS-1917
重要

Argo CD Notifications コントローラーはテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供することで、お客様による開発段階での機能テストの実施とフィードバックのご提供を可能にすることを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

  • 今回の更新により、Tekton パイプライン実行およびタスク実行のリソース除外がデフォルトで追加されました。Argo CD は、デフォルトでこれらのリソースを削除します。これらのリソースの除外は、OpenShift Container Platform で作成された新しい Argo CD インスタンスに追加されます。インスタンスが CLI から作成された場合、リソースは追加されません。GITOPS-1876
  • 今回の更新により、Argo CD Operand のカスタムリソース定義で resourceTrackingMethod パラメーターを設定することにより、Argo CD が使用する追跡方法を選択できるようになりました。GITOPS-1862
  • 今回の更新により、Red Hat OpenShift GitOps Argo CD カスタムリソースの extraConfig フィールドを使用して、argocd-cm configMap にエントリーを追加できるようになりました。指定されたエントリーは、検証なしでライブ config-cm configMap に調整されます。GITOPS-1964
  • 今回の更新により、OpenShift Container Platform 4.11 以降では、Red Hat OpenShift GitOps 開発者パースペクティブの Red Hat OpenShift GitOps Environments Details ページに、アプリケーション環境の成功したデプロイメントの履歴と、各デプロイメントのリビジョンへのリンクが表示されます。GITOPS-1269
  • 今回の更新により、Operator によってテンプレートリソースまたはソースとしても使用されている Argo CD を使用してリソースを管理できるようになりました。GITOPS-982
  • 今回の更新により、Operator は、Kubernetes 1.24 で有効化された Pod Security アドミッションを満たすための正しいアクセス許可で Argo CD ワークロードを設定します。GITOPS-2026
  • 今回の更新により、Config Management Plugins 2.0 がサポートされるようになりました。Argo CD カスタムリソースを使用して、リポジトリーサーバーのサイドバーコンテナーを指定できます。GITOPS-776
  • 今回の更新により、Argo CD コンポーネントと Redis キャッシュ間のすべての通信は、最新の TLS 暗号化を使用して保護されます。GITOPS-720
  • Red Hat OpenShift GitOps のこのリリースでは、IBM Z および IBM Power on OpenShift Container Platform 4.10 のサポートが追加されています。制限された環境でのインストールは、IBM Z および IBM Power ではサポートされていません。

5.1.7.2. 修正された問題

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

  • この更新の前に、system:serviceaccount:argocd:gitops-argocd-application-controller コントローラーは、namespace webapps-devmonitoring.coreos.com API グループに "prometheusrules" リソースを作成しませんでした。今回の更新でこの問題が修正され、Red Hat OpenShift GitOps は monitoring.coreos.com API グループからすべてのリソースを管理できるようになりました。GITOPS-1638
  • この更新の前に、クラスターのアクセス許可を調整しているときに、シークレットがクラスター設定インスタンスに属している場合は削除されていました。今回の更新でこの問題は修正されています。現在は、シークレットの代わりにシークレットの namespaces フィールドが削除されています。GITOPS-1777
  • 今回の更新以前は、Operator を使用して Argo CD の HA バリアントをインストールした場合、Operator は podAntiAffinity ルールではなく、podAffinity ルールで Redis StatefulSet オブジェクトを作成していました。今回の更新でこの問題は修正されています。これで、Operator は podAntiAffinity ルールを使用して Redis StatefulSet を作成します。GITOPS-1645
  • 今回の更新以前は、Argo CD ApplicationSetssh Zombie プロセスが多すぎていました。今回の更新でこの問題が修正され、プロセスを生成してゾンビを刈り取る単純な init デーモンである tini が ApplicationSet コントローラーに追加されます。これにより、SIGTERM シグナルが実行中のプロセスに正しく渡され、ゾンビプロセスになるのを防ぐことができます。GITOPS-2108

5.1.7.3. 既知の問題

  • Red Hat OpenShift GitOps Operator は、Dex に加えて、OIDC を介して RHSSO (KeyCloak) を利用できます。ただし、最新のセキュリティー修正が適用されると、一部のシナリオで RHSSO の証明書は検証できません。GITOPS-2214

    回避策として、ArgoCD 仕様で OIDC (Keycloak/RHSSO) エンドポイントの TLS 検証を無効にします。

spec:
  extraConfig:
    oidc.tls.insecure.skip.verify: "true"
...

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

Red Hat OpenShift GitOps 1.5.7 は、OpenShift Container Platform 4.8、4.9、4.10、および 4.11 で利用できるようになりました。

5.1.8.1. 修正された問題

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

  • OpenShift Container Platform 4.12 以降、コンソールのインストールはオプションです。この修正により、Red Hat OpenShift GitOps Operator が更新され、コンソールがインストールされていない場合に Operator でエラーが発生するのを防ぐことができます。GITOPS-2353

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

Red Hat OpenShift GitOps 1.5.6 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.9.1. 修正された問題

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

  • この更新の前は、ライブネスプローブが応答しないため、多数のアプリケーションでアプリケーションコントローラーが複数回再起動されていました。この更新は、アプリケーションコントローラーの StatefulSet オブジェクトで liveness プローブを削除することにより、問題を修正します。GITOPS-2153
  • この更新の前は、証明機関によって署名されていない証明書を使用してセットアップされていると、RHSSO 証明書を検証できませんでした。今回の更新で問題が修正され、通信時に Keycloak の TLS 証明書を検証する際に使用されるカスタム証明書を提供できるようになりました。rootCA を Argo CD カスタムリソース .spec.keycloak.rootCA フィールドに追加できます。Operator はこの変更を調整し、argocd-cm ConfigMapoidc.config フィールドを PEM エンコードされたルート証明書で更新します。GITOPS-2214

    注記

    .spec.keycloak.rootCA フィールドを更新した後、Argo CD サーバー Pod を再起動します。

    以下に例を示します。

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: basic
    spec:
      sso:
        provider: keycloak
        keycloak:
         rootCA: |
           ---- BEGIN CERTIFICATE ----
           This is a dummy certificate
           Please place this section with appropriate rootCA
           ---- END CERTIFICATE ----
      server:
        route:
          enabled: true
  • この更新の前は、Argo CD に管理されていた namespace が終了すると、ロールの作成や他の管理された namespace のその他の設定がブロックされていました。今回の更新でこの問題は修正されています。GITOPS-2277
  • この更新の前は、anyuid の SCC が Dex ServiceAccount リソースに割り当てられている場合、Dex Pod は CreateContainerConfigError で開始できませんでした。この更新プログラムでは、デフォルトのユーザー ID を Dex コンテナーに割り当てることで、この問題を修正しています。GITOPS-2235

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

Red Hat OpenShift GitOps 1.5.5 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.10.1. 新機能

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

  • この更新により、同梱の Argo CD がバージョン 2.3.7 に更新されました。

5.1.10.2. 修正された問題

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

  • この更新の前は、より制限的な SCC がクラスターに存在する場合、ArgoCD インスタンスの redis-ha-haproxy Pod が失敗していました。この更新プログラムは、ワークロードのセキュリティーコンテキストを更新することで問題を修正します。GITOPS-2034

5.1.10.3. 既知の問題

  • Red Hat OpenShift GitOps Operator は、OIDC および Dex で RHSSO (KeyCloak) を使用できます。ただし、最近のセキュリティー修正が適用されているため、Operator は一部のシナリオで RHSSO 証明書を検証できません。GITOPS-2214

    回避策として、ArgoCD 仕様で OIDC (Keycloak/RHSSO) エンドポイントの TLS 検証を無効にします。

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
    spec:
      extraConfig:
        "admin.enabled": "true"
    ...

5.1.11. Red Hat OpenShift GitOps 1.5.4 リリースノート

Red Hat OpenShift GitOps 1.5.4 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.11.1. 修正された問題

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

  • この更新の前は、Red Hat OpenShift GitOps は古いバージョンの REDIS 5 イメージタグを使用していました。この更新により、問題が修正され、rhel8/redis-5 イメージタグがアップグレードされます。GITOPS-2037

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

Red Hat OpenShift GitOps 1.5.3 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.12.1. 修正された問題

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

  • この更新の前に、Argo CD v1.0.0 以降のパッチが適用されていないすべてのバージョンは、クロスサイトスクリプティングのバグに対して脆弱でした。その結果、許可されていないユーザーが UI に JavaScript リンクを挿入できる可能性があります。この問題は修正されています。CVE-2022-31035
  • この更新の前に、Argo CD v0.11.0 以降のすべてのバージョンは、Argo CD CLI または UI から SSO ログインが開始されたときに、複数の攻撃に対して脆弱でした。この問題は修正されています。CVE-2022-31034
  • この更新の前に、Argo CD v1.0.0 以降のパッチが適用されていないすべてのバージョンは、クロスサイトスクリプティングのバグに対して脆弱でした。その結果、権限のないユーザーが UI に JavaScript リンクを挿入することができました。この問題は修正されています。CVE-2022-31016
  • この更新の前に、Argo CD v1.3.0 以降のパッチが適用されていないすべてのバージョンは、symlink-following バグに対して脆弱でした。その結果、リポジトリーの書き込みアクセスのある権限のないユーザーが、Argo CD の repo-server から機密の YAML ファイルを漏洩する可能性がありました。この問題は修正されています。CVE-2022-31036

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

Red Hat OpenShift GitOps 1.5.2 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.13.1. 修正された問題

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

  • この更新の前は、redhat-operator-index によって参照されるイメージがありませんでした。この問題は修正されています。GITOPS-2036

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

Red Hat OpenShift GitOps 1.5.1 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.14.1. 修正された問題

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

  • この更新の前は、Argo CD の匿名アクセスが有効になっている場合、認証されていないユーザーが JWT トークンを作成し、Argo CD インスタンスへのフルアクセスを取得できました。この問題は修正されています。CVE-2022-29165
  • この更新の前は、認証されていないユーザーは、SSO が有効になっているときにログイン画面にエラーメッセージを表示できました。この問題は修正されています。CVE-2022-24905
  • この更新の前に、Argo CD v0.7.0 以降のパッチが適用されていないすべてのバージョンは、symlink-following バグに対して脆弱でした。その結果、レポジトリへの書き込みアクセスを持つ許可されていないユーザーが、機密ファイルを Argo CD のレポサーバーから漏えいする可能性があります。この問題は修正されています。CVE-2022-24904

5.1.15. Red Hat OpenShift GitOps 1.5.0 のリリースノート

Red Hat OpenShift GitOps 1.5.0 は、OpenShift Container Platform 4.8 以降で利用できるようになりました。

5.1.15.1. 新機能

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

  • 今回の機能拡張により、Argo CD がバージョン 2.3.3 にアップグレードされました。GITOPS-1708
  • この拡張機能により、Dex がバージョン 2.30.3 にアップグレードされます。GITOPS-1850
  • 今回の機能拡張により、Helm がバージョン 3.8.0 にアップグレードされました。GITOPS-1709
  • この機能拡張により、Kustomize がバージョン 4.4.1 にアップグレードされます。GITOPS-1710
  • この機能拡張により、アプリケーションセットがバージョン 0.4.1 にアップグレードされます。
  • 今回の更新で、latest という名前の新しいチャネルが追加されました。このチャンネルは、Red Hat OpenShift GitOps の最新リリースを提供します。GitOps v1.5.0 の場合、Operator は gitops-1.5latest チャネル、および既存の stable チャネルにプッシュされます。GitOps v1.6 以降、すべての最新リリースは latest チャネルにのみプッシュされ、stable チャネルにはプッシュされません。GITOPS-1791
  • この更新により、新しい CSV は olm.skipRange: '>=1.0.0 <1.5.0' アノテーションを追加します。その結果、以前のリリースバージョンはすべてスキップされます。Operator は v1.5.0 に直接アップグレードします。GITOPS-1787
  • この更新により、Operator は Red Hat Single Sign-On (RH-SSO) をバージョン v7.5.1 に更新します。これには以下の機能拡張が含まれます。

    • kube:admin 認証情報を含む OpenShift Container Platform 認証情報を使用して、Argo CD にログインできます。
    • RH-SSO は、OpenShift Container Platform グループを使用して、Role-based Access Control (RBAC) の Argo CD インスタンスをサポートおよび設定します。
    • RH-SSO は、HTTP_Proxy 環境変数を尊重します。RH-SSO は、プロキシーの背後で実行されている Argo CD の SSO として使用できます。

      GITOPS-1330

  • 今回の更新により、Argo CD オペランドの .status フィールドに新しい .host フィールドが追加されました。ルートまたは入力がルートに優先順位を付けて有効になっている場合は、新しい URL フィールドにルートが表示されます。ルートまたは入力から URL が提供されていない場合、.host フィールドは表示されません。

    ルートまたは入力が設定されているが、対応するコントローラーが適切に設定されておらず、Ready 状態にないか、その URL を伝播しない場合、オペランドの .status.host フィールドの値は、URL を表示する代わりに Pending と表示します。これは、Available ではなく Pending にすることで、オペランドの全体的なステータスに影響します。GITOPS-654

5.1.15.2. 修正された問題

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

  • この更新の前は、AppProjects に固有の RBAC ルールでは、ロールのサブジェクトフィールドにコンマを使用できないため、LDAP アカウントへのバインドが防止されていました。この更新により問題が修正され、AppProject 固有の RBAC ルールで複雑なロールバインディングを指定できるようになりました。GITOPS-1771
  • この更新の前は、DeploymentConfig リソースが 0 にスケーリングされると、Argo CD は、"replication controller is waiting for pods to run" という可用性ステータスメッセージとともに progressing の状態でリソースを表示しました。この更新により、エッジケースが修正され、可用性チェックで DeploymentConfig リソースの正しい可用性ステータスが報告されるようになりました。GITOPS-1738
  • この更新の前に、argocd-tls-certs-cm 設定マップの TLS 証明書は、証明書が ArgoCD CR 仕様の tls.initialCerts フィールドで設定されていない限り、Red Hat OpenShift GitOps によって削除されていました。この問題は修正されています。GITOPS-1725
  • この更新の前は、managed-by ラベルを使用して namespace を作成しているときに、新しい namespace に多くの RoleBinding リソースを作成していました。この更新により問題が修正され、Red Hat OpenShift GitOps は以前のバージョンで作成された無関係な Role および RoleBinding リソースを削除します。GITOPS-1550
  • この更新の前は、パススルーモードのルートの TLS 証明書には CA 名がありませんでした。その結果、Firefox 94 以降はエラーコード SEC_ERROR_BAD_DER で Argo CD UI に接続できませんでした。今回の更新でこの問題が修正されています。<openshift-gitops-ca> シークレットを削除して、再作成する必要があります。次に、<openshift-gitops-tls> シークレットを削除する必要があります。Red Hat OpenShift GitOps がそれを再作成した後、Firefox から Argo CD UI に再びアクセスできます。GITOPS-1548

5.1.15.3. 既知の問題

  • OpenShift Container Platform クラスターで Route リソースの代わりに Ingress リソースが使用されている場合、Argo CD.status.host フィールドは更新されません。GITOPS-1920

5.1.16. Red Hat OpenShift GitOps 1.4.13 のリリースノート

Red Hat OpenShift GitOps 1.4.13 は、OpenShift Container Platform 4.7、4.8、4.9、4.10、および 4.11 で利用できるようになりました。

5.1.16.1. 修正された問題

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

  • OpenShift Container Platform 4.12 以降、コンソールのインストールはオプションです。この修正により、Red Hat OpenShift GitOps Operator が更新され、コンソールがインストールされていない場合に Operator でエラーが発生するのを防ぐことができます。GITOPS-2354

5.1.17. Red Hat OpenShift GitOps 1.4.12 のリリースノート

Red Hat OpenShift GitOps 1.4.12 は、OpenShift Container Platform 4.7 以降で利用できるようになりました。

5.1.17.1. 修正された問題

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

  • この更新の前は、ライブネスプローブが応答しないため、多数のアプリケーションでアプリケーションコントローラーが複数回再起動されていました。この更新は、アプリケーションコントローラーの StatefulSet オブジェクトで liveness プローブを削除することにより、問題を修正します。GITOPS-2153
  • この更新の前は、証明機関によって署名されていない証明書を使用してセットアップされていると、RHSSO 証明書を検証できませんでした。今回の更新で問題が修正され、通信時に Keycloak の TLS 証明書を検証する際に使用されるカスタム証明書を提供できるようになりました。rootCA を Argo CD カスタムリソース .spec.keycloak.rootCA フィールドに追加できます。Operator はこの変更を調整し、argocd-cm ConfigMapoidc.config フィールドを PEM エンコードされたルート証明書で更新します。GITOPS-2214

    注記

    .spec.keycloak.rootCA フィールドを更新した後、Argo CD サーバー Pod を再起動します。

    以下に例を示します。

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: basic
    spec:
      sso:
        provider: keycloak
        keycloak:
         rootCA: |
           ---- BEGIN CERTIFICATE ----
           This is a dummy certificate
           Please place this section with appropriate rootCA
           ---- END CERTIFICATE ----
      server:
        route:
          enabled: true
  • この更新の前は、Argo CD に管理されていた namespace が終了すると、ロールの作成や他の管理された namespace のその他の設定がブロックされていました。今回の更新でこの問題は修正されています。GITOPS-2277
  • この更新の前は、anyuid の SCC が Dex ServiceAccount リソースに割り当てられている場合、Dex Pod は CreateContainerConfigError で開始できませんでした。この更新プログラムでは、デフォルトのユーザー ID を Dex コンテナーに割り当てることで、この問題を修正しています。GITOPS-2235

5.1.18. Red Hat OpenShift GitOps 1.4.5 のリリースノート

Red Hat OpenShift GitOps 1.4.5 は、OpenShift Container Platform 4.7 以降で利用できるようになりました。

5.1.18.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.19. 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.19.1. 修正された問題

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

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

5.1.20. 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.20.1. 修正された問題

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

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

5.1.21. 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.21.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.22. 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.22.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.22.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.22.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.23. Red Hat OpenShift GitOps 1.3.7 のリリースノート

Red Hat OpenShift GitOps 1.3.7 は、OpenShift Container Platform 4.7 以降で利用できるようになりました。

5.1.23.1. 修正された問題

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

  • この更新の前に、OpenSSL に不具合が見つかりました。今回の更新で、不具合を回避するために OpenSSL のベースイメージを最新バージョンに更新することで問題を修正しています。(CVE-2022-0778).
注記

Red Hat OpenShift GitOps 1.3 の現在のリリースをインストールし、製品ライフサイクル中にさらに更新を受け取るには、GitOps-1.3 チャネルに切り替えます。

5.1.24. Red Hat OpenShift GitOps 1.3.6 のリリースノート

Red Hat OpenShift GitOps 1.3.6 は、OpenShift Container Platform 4.7 以降で利用できるようになりました。

5.1.24.1. 修正された問題

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

  • Red Hat OpenShift GitOps では、不適切なアクセス制御により管理者の権限昇格が許可されます (CVE-2022-1025)。今回の更新でこの問題が修正されています。
  • パストラバーサルの欠陥により、範囲外のファイルが漏洩する可能性があります (CVE-2022-24731)。今回の更新でこの問題が修正されています。
  • パストラバーサルの欠陥と不適切なアクセス制御により、範囲外のファイルが漏洩する可能性があります (CVE-2022-24730)。今回の更新でこの問題が修正されています。

5.1.25. 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.25.1. 新機能

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

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

5.1.25.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.26. 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.26.1. 修正された問題

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

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

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

5.1.27.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.27.2. 修正された問題

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

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

5.1.27.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.28. Red Hat OpenShift GitOps 1.2.2 のリリースノート

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

5.1.28.1. 修正された問題

現在のリリースでは、次の問題が解決されました。

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

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

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

5.1.29.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.29.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.30. Red Hat OpenShift GitOps 1.2 のリリースノート

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

5.1.30.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.30.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.30.3. 修正された問題

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

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

5.1.30.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.31. Red Hat OpenShift GitOps 1.1 のリリースノート

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

5.1.31.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.31.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.31.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.31.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.31.5. 互換性を破る変更

5.1.31.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 クラスターにログインし、直前の設定が存在することを確認します。