1.4. アプリケーションリソースの管理
コンソールから、Git リポジトリー、Helm リポジトリー、およびオブジェクトストレージリポジトリーを使用してアプリケーションを作成できます。
非推奨: アプリケーション サブスクリプション と、アプリケーションサブスクリプションを使用するすべてのプロセス。更新された機能は、GitOps の概要 を参照してください。
重要: Git チャネルは、他のすべてのチャネルタイプ (Helm、オブジェクトストレージ、およびその他の Git namespace) と namespace を共有できます。
アプリケーションの管理を開始する場合は、以下のトピックを参照してください。
1.4.1. Git リポジトリーを使用したアプリケーションの管理 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションを使用して Kubernetes リソースをデプロイする場合に、リソースは特定のリポジトリーに配置されます。以下の手順で、Git リポジトリーからリソースをデプロイする方法を説明します。アプリケーションモデルの詳細は、アプリケーションモデルおよび定義 (非推奨) を参照してください。
非推奨: アプリケーション サブスクリプション と、アプリケーションサブスクリプションを使用するすべてのプロセスが非推奨になりました。更新された機能は、GitOps の概要 を参照してください。
ユーザーに必要なアクセス権: アプリケーションを作成できるユーザーロールロールが割り当てられているアクションのみを実行できます。ロールベースのアクセス制御 のドキュメントで、アクセス要件を確認してください。
- コンソールのナビゲーションメニューから Applications をクリックし、リスト表示されているアプリケーションを表示して新規アプリケーションを作成します。
- オプション: 作成するアプリケーションの種類を選択した後に、YAML: On を選んで YAML: アプリケーションの作成および編集時に YAML をコンソールで表示できます。このトピックの後半にある YAML サンプルを参照してください。
使用可能なリポジトリーのリストから Git を選択し、正しいフィールドに値を入力します。コンソールのガイダンスに従い、入力に基づいて YAML エディターの変更値を確認します。
注記:
- 既存の Git リポジトリーパスを選択し、そのリポジトリーがプライベートの場合は、接続情報を指定する必要がありません。接続情報が事前設定されているため、これらの値を確認する必要はありません。
- 新しい Git リポジトリーパスを入力し、その Git リポジトリーがプライベートの場合は、オプションで Git 接続情報を入力できます。
-
調整オプションに着目します。
mergeオプションは、新規フィールドが追加され、既存フィールドがリソースで更新されることを意味するデフォルトの選択です。replaceを選択することができます。replaceオプションを指定すると、既存のリソースが Git ソースに置き換えられます。サブスクリプションの調整速度をlowに設定すると、サブスクライブしているアプリケーションリソースの調整に最大 1 時間かかる場合があります。単一アプリケーションビューのカードで、Sync をクリックして手動で調整します。offに設定すると、調整はありません。
-
デプロイメントの前後のタスクをオプションで設定します。サブスクリプションがアプリケーションリソースをデプロイする前または後に実行する Ansible Automation Platform ジョブがある場合は、Ansible Automation Platform シークレットを設定します。ジョブを定義する Ansible Automation Platform タスクは、このリポジトリーの
prehookおよびposthookフォルダー内に配置する必要があります。 - コンソールを使用して認証情報を追加する必要がある場合は、Add credential をクリックします。コンソールの指示に従います。詳細は、認証情報の管理の概要 を参照してください。
- Create をクリックします。
- Overview ページにリダイレクトされ、詳細とトポロジーを確認できます。
1.4.1.1. その他の例 リンクのコピーリンクがクリップボードにコピーされました!
-
root-subscription/の例は、application-subscribe-allを参照してください。 -
同じリポジトリーにある他のフォルダーを参照するサブスクリプションの例は、
subscribe-allを参照してください。 -
nginx-appsリポジトリーのアプリケーションアーティファクトを含むcommon-managedフォルダーの例を参照してください。 - Policy collection のポリシーの例を参照してください。
1.4.1.2. Git でサブスクリプションを削除した後、デプロイされたリソースを保持する リンクのコピーリンクがクリップボードにコピーされました!
Git リポジトリーを使用してサブスクリプションを作成する場合、do-not-delete アノテーションを追加して、サブスクリプションを削除した後も特定のデプロイ済みリソースを保持できます。do-not-delete アノテーションは、最上位のデプロイリソースでのみ機能します。do-not-delete アノテーションを追加するには、次の手順を実行します。
- 少なくとも 1 つのリソースをデプロイするサブスクリプションを作成します。
サブスクリプションを削除した後でも、保持するリソースに次のアノテーションを追加します。
apps.open-cluster-management.io/do-not-delete: 'true'以下の例を参照してください。
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: apps.open-cluster-management.io/do-not-delete: 'true' apps.open-cluster-management.io/hosting-subscription: sub-ns/subscription-example apps.open-cluster-management.io/reconcile-option: merge pv.kubernetes.io/bind-completed: "yes"
サブスクリプションを削除した後、do-not-delete アノテーションを持つリソースは引き続き存在しますが、他のリソースは削除されます。
注記: do-not-delete アノテーションを使用してデプロイされたままのリソースは、namespace にバインドされます。そのため、残りのリソースを削除するまで namespace を削除することはできません。