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

アプリの管理を開始します

寄稿者 netapp-bcammett netapp-mwallis

お先にどうぞ "Kubernetes クラスタを Astra Control に追加"では、クラスターにアプリケーションをインストールし( Astra Control の外部)、 Astra Control の [ アプリ ] ページに移動して、アプリの管理を開始できます。

アプリケーション管理の要件

Astra Control アプリケーションの管理に関する次の要件を考慮してください。

  • * ライセンス * : Astra Control Center を使用してアプリケーションを管理するには、 Astra Control Center ライセンスが必要です。

  • * 名前空間 * : Astra Control では、アプリケーションが複数の名前空間にまたがることはありませんが、名前空間には複数のアプリケーションを含めることができます。

  • * StorageClass* : StorageClass が明示的に設定されたアプリケーションをインストールし、そのアプリケーションをクローニングする必要がある場合、クローン処理のターゲットクラスタに最初に指定された StorageClass が必要です。明示的に StorageClass を設定したアプリケーションを、同じストレージクラスを使用しないクラスタにクローニングすると、失敗します。

  • * Kubernetes リソース * : Astra Control で収集されない Kubernetes リソースを使用するアプリケーションには、アプリケーションデータの完全な管理機能がない可能性があります。Astra Control では、次の Kubernetes リソースが収集されます。

    • クラスタロール

    • ClusterRoleBinding

    • ConfigMap

    • CustomResourceDefinition の場合

    • CustomResource の場合

    • デモンセット( DemonSet )

    • 導入

    • DeploymentConfig

    • 入力

    • MutingWebhook

    • PersistentVolumeClaim のように表示され

    • ポッド

    • ReplicaSet

    • RoleBinding です

    • ロール

    • ルート

    • 秘密

    • サービス

    • サービスアカウント

    • Stateful役立つ セット

    • 検証 Webhook

サポートされているアプリインストール方法

次の方法を使用して、 Astra Control で管理するアプリケーションをインストールできます。

  • * マニフェストファイル * : Astra Control は、 kubectl を使用してマニフェストファイルからインストールされたアプリケーションをサポートします。例:

    kubectl apply -f myapp.yaml
  • * Helm 3 * : Helm を使用してアプリケーションをインストールする場合、 Astra Control には Helm バージョン 3 が必要です。Helm 3 (または Helm 2 から Helm 3 にアップグレード)を使用してインストールされたアプリケーションの管理とクローニングが完全にサポートされています。Helm 2 でインストールされたアプリケーションの管理はサポートされていません。

  • * オペレータが導入したアプリケーション * : Astra Control は、名前空間を対象とした演算子を使用してインストールされたアプリケーションをサポートします。これらの演算子は、一般に「パスバイリファレンス」アーキテクチャではなく「パスバイ値」で設計されています。これらのパターンに続くいくつかのオペレータアプリを次に示します。

Astra Control では、「パスバイリファレンス」アーキテクチャ( CockroachDB オペレータなど)で設計されたオペレータをクローニングできない場合があります。クローニング処理では、クローニング処理の一環として独自の新しいシークレットが存在する場合でも、クローニングされたオペレータがソースオペレータから Kubernetes シークレットを参照しようとします。Astra Control がソースオペレータの Kubernetes シークレットを認識しないため、クローニング処理が失敗する場合があります。

注記 インストールする演算子とアプリケーションは、同じ名前空間を使用する必要があります。このような名前空間を使用するには、演算子の deployment.yaml ファイルを変更する必要があります。

クラスタにアプリをインストールします

Astra Control にクラスタを追加したので、クラスタにアプリケーションをインストールできます。新しいストレージクラスでは、永続ボリュームはデフォルトでプロビジョニングされます。ポッドがオンラインになったら、 Astra Control を使用してアプリケーションを管理できます。

Astra Control は、 Astra Control によってインストールされたストレージクラス上にストレージがある場合にのみ、ステートフルアプリケーションを管理する。

Helm チャートから一般的なアプリケーションを展開する方法については、以下を参照してください。

アプリの管理

Astra Control は、クラスタで実行されているアプリケーションを検出すると、管理方法を選択するまで管理対象外になります。Astra Control のマネージドアプリケーションには、次のいずれかを使用できます。

  • ネームスペース。ネームスペース内のすべてのリソースを含みます

    この概念図は、 Astra がネームスペース内のすべてのリソースを管理する仕組みを示しています。

  • ネームスペース内に helm3 を使用して導入された個々のアプリケーション

    この概念図は、他のアプリケーションを含むネームスペースに配置された個々のアプリケーションを Astra が管理する様子を示しています。

  • Kubernetes ラベルで識別されるリソースのグループ( Astra Control では _custom APP_in )

    Kubernetes ラベルを基にカスタムアプリケーションを管理する Astra の概念図。

以下のセクションでは、これらのオプションを使用してアプリケーションを管理する方法について説明します。

ネームスペースでアプリケーションを管理します

アプリページの * 検出された * セクションには、名前空間と Helm によってインストールされたアプリ、またはそれらの名前空間内のカスタムラベル付きアプリが表示されます。各アプリケーションを個別に管理することも、ネームスペースレベルで管理することもできます。データ保護処理に必要な精度のレベルが重要になります。

たとえば、毎週同じ頻度で「 Maria 」のバックアップポリシーを設定したいのに、同じネームスペースにある「 MariaDB 」をバックアップする頻度を高く設定するとします。これらのニーズに基づいて、アプリケーションを個別に管理する必要があり、単一のネームスペースで管理する必要はありません。

Astra Control を使用すると、階層の両方のレベル(名前空間とその名前空間内のアプリケーション)を個別に管理できますが、いずれか一方を選択することをお勧めします。Astra Control で実行したアクションは、ネームスペースレベルとアプリケーションレベルの両方で同時に実行される場合、失敗する可能性があります。

手順
  1. 「 * アプリケーション」を選択し、「 * 検出済み * 」を選択します。

    "[ アプリケーション( Apps ) ページのスクリーンショット。 [ 検出( Discovered ) ] タブが表示されます。"]

  2. 検出されたネームスペースのリストを表示し、ネームスペースを展開してアプリケーションと関連リソースを表示します。

    Astra Control では、 Helm アプリケーションとカスタムラベルの付いたアプリケーションが名前空間に表示されます。Helm ラベルがある場合は、タグアイコンで指定されます。

    次に、名前空間に 2 つのアプリケーションがある例を示します。

    名前空間が展開され、その名前空間に 2 つのアプリが表示されるアプリページのスクリーンショット。

  3. 各アプリケーションを個別に管理するか、ネームスペースレベルで管理するかを決定します。

  4. 階層の適切なレベルで、 [* アクション * ( * Actions * ) ] 列のドロップダウンリストを選択し、 [ * 管理( Manage ) ] を選択します。

    "[ アプリ ページの展開されたドロップダウンリストのスクリーンショット。名前空間またはアプリを管理または無視することを選択できます。"]

  5. アプリを管理しない場合は、目的のアプリの [ * アクション * ] 列でドロップダウンリストを選択し、 [ * 無視 * ] を選択します。

    たとえば、「 Jenkins 」ネームスペースですべてのアプリケーションを一緒に管理して、スナップショットポリシーとバックアップポリシーが同じになるようにする場合は、ネームスペースを管理し、ネームスペース内のアプリケーションは無視します。

    "[ アプリ ページの展開されたドロップダウンリストのスクリーンショット。名前空間またはアプリを管理または無視することを選択できます。"]

管理対象として選択したアプリは、 [ 管理対象 * ] タブから利用できるようになりました。無視されたアプリは、 * 無視された * タブに移動します。新しいアプリケーションがインストールされると、検出されたタブにはアプリが表示されないため、見つけやすくなり、管理も簡単になります。

Kubernetes ラベルでアプリケーションを管理

Astra Control の [ アプリ ] ページの上部には、「 * カスタムアプリの定義 * 」という名前のアクションが含まれています。このアクションを使用して、 Kubernetes ラベルで識別されるアプリケーションを管理できます。 "Kubernetes ラベルでアプリケーションを定義する方法については、こちらをご覧ください"

手順
  1. [ * アプリケーション( * Applications ) ] > [ カスタムアプリケーションを定義( Define custom app )

  2. [ カスタムアプリケーションの定義 * ( Define Custom Application * ) ] ダイアログボックスで、アプリケーションを管理するために必要な情報を入力します。

    1. * 新しいアプリ * :アプリの表示名を入力します。

    2. * クラスタ * :アプリケーションが存在するクラスタを選択します。

    3. * 名前空間: * アプリケーションの名前空間を選択します。

    4. * ラベル: * ラベルを入力するか、以下のリソースからラベルを選択してください。

    5. * 選択したリソース * :保護する Kubernetes リソース(ポッド、シークレット、永続ボリュームなど)を表示および管理します。

      次に例を示します。

      設定マップや永続的ボリュームの要求など、保護可能なリソースのスクリーンショット。

      • リソースを展開し、ラベル数を選択して、使用可能なラベルを表示します。

        リソースが展開され、そのリソースのラベル数を示すスクリーンショット。

      • ラベルを 1 つ選択します。

        ラベル数を選択したあとに選択できるラベルのリストを示すスクリーンショット。

    ラベルを選択すると、 [Label] フィールドにラベルが表示されます。Astra Control は、 [ 選択されていないリソース * ] セクションも更新して、選択したラベルと一致しないリソースを表示します。

    1. * 選択されていないリソース * :保護する必要がないアプリケーションリソースを確認します。

      "[ リソース ペインでラベルを選択した後に [ ラベル ] フィールドにラベルを表示するスクリーンショット。"]

  3. 「 * カスタムアプリを定義 * 」を選択します。

Astra Control を使用すると、アプリケーションを管理できます。これで、 [* 管理対象 * ( * Managed * ) ] タブに表示されます。

システムアプリケーションについて教えてください。

Astra Control は、 Kubernetes クラスタで実行されているシステムアプリケーションも検出します。[ アプリケーション( Apps ) ] リストをフィルタリングすることで、これらを表示できます。

アプリ画面ですべてのクラスタを選択したときに使用できるシステムアプリを表示オプションを示すスクリーンショット。

これらのシステムアプリは、バックアップが必要になることが稀であるため、デフォルトでは表示されません。