日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

カスタムアプリケーションを定義します

寄稿者 netapp-bcammett netapp-mwallis

カスタムアプリケーションを作成すると、 Kubernetes クラスタの要素を 1 つのアプリケーションにグループ化できます。

カスタムアプリケーションを使用すると、 Astra Control 操作に含めるものをより細かく制御できます。次のものが含まれます。

  • クローン

  • スナップショット

  • バックアップ

  • 保護ポリシー

ほとんどの場合、アプリケーション全体で Astra Control の機能を使用します。ただし、これらの機能を使用するカスタムアプリケーションを、名前空間内の Kubernetes オブジェクトに割り当てるラベルで作成することもできます。

カスタムアプリを作成するには、 [ アプリ ] ページに移動し、 [**+ カスタムアプリの定義 ] を選択します。

選択すると、カスタムアプリケーションウィンドウに、カスタムアプリケーションに含まれるリソースまたはカスタムアプリケーションから除外されるリソースが表示されます。これにより、カスタムアプリケーションを定義するための正しい条件を選択できるようになります。

カスタムアプリ定義ポップアップウィンドウのスクリーンショットには、カスタムアプリに含めるリソースと含めることができないリソースが表示されています

上記の例では、カスタムアプリケーションに 1 つのリソース(「 nginx-pod0 」というラベルの付いた「配置 : カナリア」)が含まれます。2 つのポッド(「 nginx-pod 」と「 nginx-POD2 」の両方に「 Deployment : stable 」というラベルが付いています)は除外されます。

注記 カスタムアプリケーションは、単一クラスタの指定したネームスペース内でのみ作成できます。Astra Control では、カスタムアプリケーションを複数のネームスペースまたはクラスタにまたがって使用することはできません。

ラベルは、 Kubernetes オブジェクトに割り当てて識別できるキーと値のペアです。ラベルを使用すると、 Kubernetes オブジェクトのソート、整理、検索が簡単になります。Kubernetes のラベルの詳細については、 "Kubernetes の公式ドキュメントを参照してください"

警告 同じリソースに対して名前の異なるポリシーが重複していると、原因のデータが競合する可能性があります。リソースのカスタムアプリケーションを作成する場合は、そのアプリケーションが他のポリシーに基づいてクローニングまたはバックアップされていないことを確認してください。

例:カナリアリリースの保護ポリシーを分離します

この例では、 DevOps チームがカナリアリリースの導入を管理しています。そのクラスタには nginx を実行するポッドが 3 つあります。そのうちの 2 つのポッドは、安定版リリース専用です。3 番目のポッドはカナリアリリース用です。

チームの Kubernetes 管理者は、安定したリリースポッドに「展開 = 安定」というラベルを追加します。また、管理者は、カナリアリリースポッドに「展開 = カナリア」というラベルを追加します。

3 つのポッドで Kubernetes ラベルを表示した「 kubectl get pod 」を実行した結果のスクリーンショット --namespace=nginx-app --show-labels

チームの安定版リリースには、 1 時間ごとの Snapshot と日次バックアップの要件が含まれています。カナリアリリースは、より一時的なものです。したがって、「配置」 = 「カナリア」というラベルの付いたすべてのものに対して、より積極的で短期的な保護ポリシーを作成したいと考えています。

データの競合を回避するために、管理者はカナリアリリース用と安定版リリース用の 2 つのカスタムアプリケーションを作成します。これにより、 Kubernetes オブジェクトの 2 つのグループに対して、バックアップ、 Snapshot 、およびクローニングの処理が分離されます。

管理者がクラスタを Astra Control に追加したら、次はカスタムアプリケーションを定義します。これを行うには、管理者が [ アプリ ] ページで [**+ カスタムアプリの定義 ] ボタンを選択します。

表示されるポップアップウィンドウで、管理者が「 devops-canary-deployment 」をアプリケーション名として設定します。次に、 [Cluster] ドロップダウンでクラスタを選択し、 [Namespace ] ドロップダウンからアプリケーションのネームスペースを選択します。

この時点で、管理者は [ ラベル ] フィールドに「配置 = カナリア」と入力するか、以下のリソースからそのラベルを選択できます。

カナリアデプロイメント用のカスタムアプリケーションを定義した後、管理者は安定した展開のためにプロセスを繰り返します。

2 つのカスタムアプリケーションを作成した後、管理者はこれらのリソースを他の Astra Control アプリケーションとして扱うことができます。管理者は、 Kubernetes のラベルに基づいて、リソースグループごとにデータをクローニングし、バックアップと Snapshot を作成し、カスタムの保護ポリシーを作成できます。