第1章 アプリケーションの管理
アプリケーションの作成、デプロイ、および管理に関する詳細は、以下のトピックを参照してください。本書では、Kubernetes の概念および用語に精通していることを前提としています。主要な Kubernetes の用語はコンポーネントについては、定義しません。Kubernetes の概念に関する情報は、Kubernetes ドキュメント を参照してください。
アプリケーション管理機能では、アプリケーションや、アプリケーションの更新を構築してデプロイするオプションが統一、簡素化されています。開発者および DevOps 担当者は、このアプリケーション管理機能を使用することで、チャネルおよびサブスクリプションベースの自動化を使用し、環境全体でアプリケーションを作成して管理できます。
重要: アプリケーション名は 37 文字を超えることができません。
以下のトピックを参照してください。
- アプリケーションモデルおよび定義
- アプリケーションコンソール
- アプリケーションリソースの管理
- Git リポジトリーを使用したアプリケーションの管理
- Helm リポジトリーを使用したアプリケーションの管理
- Object Storage リポジトリーを使用したアプリケーションの管理
- アプリケーションの詳細設定
- Git リソースのサブスクライブ
- セキュアな Git 接続用のアプリケーションチャネルおよびサブスクリプションの設定
- Ansible Tower タスクの設定
- マネージドクラスターでの GitOps の設定
- デプロイメントのスケジュール
- パッケージの上書きの設定
- チャネルの例
- サブスクリプションの例
- 配置ルールの例
- アプリケーションの例
1.1. アプリケーションモデルおよび定義
アプリケーションモデルは、マネージドクラスターにデプロイされるリソースが含まれる 1 つまたは複数の Kubernetes リソースリポジトリー (チャネル リソース) にサブスクライブすることをベースとしています。単一クラスターアプリケーションもマルチクラスターアプリケーションも同じ Kubernetes 仕様を使用しますが、マルチクラスターアプリケーションでは、デプロイメントおよびアプリケーション管理ライフサイクルがさらに自動化されます。
アプリケーションモデルの詳細を理解するには、以下の画像を参照してください。
以下のアプリケーションリソースセクションを確認します。
1.1.1. アプリケーション
Red Hat Advanced Cluster Management for Kubernetes のアプリケーション (application.app.k8s.io
) は、アプリケーションを構成する Kubernetes リソースのグループ化に使用します。
Red Hat Advanced Cluster Management for Kubernetes アプリケーションのアプリケーションコンポーネントリソースはすべて、YAML ファイルの仕様セクションで定義します。アプリケーションコンポーネントリソースを作成または更新する必要がある場合は、適切な仕様セクションを作成してリソースを定義するラベルを追加する必要があります。
1.1.2. チャンネル
チャネル (channel.apps.open-cluster-management.io
) は、クラスターがサブスクリプションを使用してサブスクライブ可能なソースリポジトリーを定義します。許容タイプは、Git、Helm リリース、オブジェクトストレージリポジトリー、ハブクラスター上にあるリソーステンプレートです。
認可が必要なチャネルから Kurbernetes リソースまたは Helm チャートを必要とするアプリケーション (例: エンタイトルメントのある Git リポジトリー) がある場合には、これらのチャネルにアクセスできるようにするシークレットを使用できます。お使いのサブスクリプションで、データセキュリティーを確保しつつも、これらのチャネルからデプロイメント用の Kubernetes リソースおよび Helm チャートにアクセスできます。
チャネルは、ハブクラスター内の namespace を使用して、リソースをデプロイメント用に保存する、物理的な場所を参照します。クラスターは、チャネルにサブスクライブすることで、クラスターごとにデプロイするリソースを特定できます。
注記: 一意の namespace に各チャネルを作成することを推奨します。ただし、Git チャネルは、Git、Helm、オブジェクトストレージなどの別のチャネルタイプで namespace を共有できます。
チャネル内の deployable には、そのチャネルにサブスクライブするクラスターのみがアクセスできます。
1.1.2.1. サポート対象の Git リポジトリーサーバー
- GitHub
- GitLab
- Bitbucket
- Gogs
1.1.3. サブスクリプション
サブスクリプション (subscription.apps.open-cluster-management.io
) により、クラスターは Git リポジトリー、Helm リリースリポジトリー、またはオブジェクトストレージリポジトリーなどのソースリポジトリー (チャネル) にサブスクライブできます。
注記: リソースがハブクラスターに影響を及ぼす可能性があるため、ハブクラスターの自己管理は推奨されません。
ハブクラスターが自己管理の場合には、サブスクリプションはハブクラスターにローカルでアプリケーションリソースをデプロイできます。次に、トポロジーで local-cluster
サブスクリプションを表示できます。リソース要件は、ハブクラスターのパフォーマンスに悪影響を与える可能性があります。
サブスクリプションは、チャネルまたはストレージの場所を参照して、新規または更新したリソーステンプレートを特定できます。次に、サブスクリプション operator は、先にハブクラスターを確認しなくても、直接ストレージの場所からターゲットのマネージドクラスターにダウンロードしてデプロイできます。サブスクリプションを使用すると、サブスクリプション operator は、ハブクラスターの代わりに、新規または更新されたリソースがないか、チャネルを監視できます。
1.1.4. 配置ルール
配置ルール (placementrule.apps.open-cluster-management.io
) は、リソーステンプレートをデプロイ可能なターゲットクラスターを定義します。配置ルールを使用すると、deployable のマルチクラスターでのデプロイメントが容易になります。配置ルールは、ガバナンスポリシーおよびリスクポリシーにも使用されます。使用方法の詳細は「ガバナンス」を参照してください。
詳細情報は、以下のドキュメントを参照してください。