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
-
今回の機能拡張により、
DeploymentConfig
、Route
、およびOLM Operator
アイテムのヘルスステータスが Argo CD Dashboard および OpenShift Container Platform Web コンソールに追加されました。この情報は、アプリケーションの全体的なヘルスステータスをモニターする上で役立ちます。GITOPS-655、GITOPS-915、GITOPS-916、GITOPS-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-1450、GITOPS-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 GitOpsv1.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
に変更します。
これは互換性を破る変更であり、アップグレード前に以下の手順を手動で実行する必要があります。
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: ''
-
デフォルトの
argocd-cluster
インスタンスを削除します。 -
新規の
argocd-cm.yml
設定マップファイルを編集して、data
セクション全体を手動で復元します。 設定マップエントリーの URL の値を、新規インスタンス名
openshift-gitops
に置き換えます。たとえば、前述の例では、URL の値を以下の URL の値に置き換えます。url: >- https://openshift-gitops-server-openshift-gitops.apps.dev-svc-4.7-041614.devcluster.openshift.com
- Argo CD クラスターにログインし、直前の設定が存在することを確認します。