アプリの管理を開始します
お先にどうぞ "Astra Control 管理にクラスタを追加"では、クラスターにアプリケーションをインストールし(Astra Controlの外部)、Astra Controlの[アプリケーション]ページに移動して、アプリケーションとそのリソースを定義できます。
アプリケーション管理の要件
Astra Control には、次のアプリケーション管理要件があります。
-
ライセンス:Astra Control Centerを使用してアプリケーションを管理するには、組み込みのAstra Control Center評価ライセンスまたはフルライセンスのいずれかが必要です。
-
名前空間:アプリケーションは、Astra Controlを使用して、単一クラスタ上の1つ以上の指定された名前空間内で定義できます。アプリケーションには、同じクラスタ内の複数のネームスペースにまたがるリソースを含めることができます。Astra Controlでは、複数のクラスタ間でアプリケーションを定義する機能はサポートされていません。
-
ストレージクラス:ストレージクラスを明示的に設定したアプリケーションをインストールし、アプリケーションのクローンを作成する必要がある場合、クローン処理のターゲットクラスタには、元 々 指定されたストレージクラスが必要です。ストレージクラスを明示的に設定したアプリケーションを、同じストレージクラスを含まないクラスタにクローニングすると、失敗します。
-
* Kubernetes リソース * : Astra Control で収集されていない Kubernetes リソースを使用するアプリケーションには、アプリケーションのデータ管理機能がフル装備されていない可能性があります。Astra Control では、次の Kubernetes リソースが収集されます。
ClusterRoleClusterRoleBindingConfigMapCronJobCustomResourceDefinitionCustomResourceDaemonSetDeploymentConfigHorizontalPodAutoscalerIngressMutatingWebhookNetworkPolicyPersistentVolumeClaimPodPodDisruptionBudgetPodTemplateReplicaSetRoleRoleBindingRouteSecretServiceServiceAccountStatefulSetValidatingWebhook
サポートされているアプリインストール方法
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は、ネームスペーススコープの演算子を使用してインストールされたアプリをサポートします。これらの演算子は、一般的に「pass-by-reference」アーキテクチャではなく「pass-by-value」アーキテクチャで設計されています。オペレーターとそれがインストールするアプリは、同じ名前空間を使用する必要があります。これを確実にするために、オペレーターの配置YAMLファイルを変更する必要がある場合があります。
これらのパターンに続くいくつかのオペレータアプリを次に示します。
-
K8ssandra では、 In Place リストア処理がサポートされます。新しいネームスペースまたはクラスタにリストアするには、アプリケーションの元のインスタンスを停止する必要があります。これは、ピアグループ情報がインスタンス間通信を行わないようにするためです。アプリケーションのクローニングはサポートされていません。
Astra Controlでは、「パスバイリファレンス」アーキテクチャ(CockroachDBオペレータなど)で設計されたオペレータをクローニングできない場合があります。クローニング処理では、クローニング処理の一環として独自の新しいシークレットが存在する場合でも、クローニングされたオペレータがソースオペレータから Kubernetes シークレットを参照しようとします。Astra Control がソースオペレータの Kubernetes シークレットを認識しないため、クローニング処理が失敗する場合があります。
-
クラスタにアプリをインストールします
お先にどうぞ "クラスタが追加されました" Astra Controlを使用すると、アプリケーションをインストールしたり、クラスタ上の既存のアプリケーションを管理したりできます。1つ以上の名前空間にスコープされているすべてのアプリケーションを管理できます。
アプリケーションを定義します
Astra Controlがクラスタ上のネームスペースを検出したら、管理するアプリケーションを定義できます。を選択できます 1つ以上のネームスペースにまたがるアプリケーションを管理します または ネームスペース全体を単一のアプリケーションとして管理。データ保護処理に必要な精度のレベルが重要になります。
Astra Controlを使用すると、階層の両方のレベル(ネームスペースとそのネームスペースまたはスパニングネームスペース内のアプリケーション)を別 々 に管理できますが、いずれか一方を選択することを推奨します。Astra Control で実行したアクションは、ネームスペースレベルとアプリケーションレベルの両方で同時に実行される場合、失敗する可能性があります。
|
|
たとえば、「Maria」に対して、毎週同じ頻度でバックアップを作成するように設定することもできますが、同じネームスペースにある「MariaDB」をバックアップする頻度を高く設定する必要があるとします。これらのニーズに基づいて、アプリケーションを個別に管理する必要があります。また、シングルネームスペースアプリケーションとして管理する必要はありません。 |
-
KubernetesクラスタをAstra Controlに追加。
-
クラスタにインストールされているアプリケーションが1つ以上あります。 サポートされているアプリケーションのインストール方法については、こちらをご覧ください。
-
Astra Controlに追加したKubernetesクラスタ上の既存のネームスペース。
-
(オプション)すべてのにKubernetesラベルを付けます "サポートされるKubernetesリソース"。
ラベルは、 Kubernetes オブジェクトに割り当てて識別できるキーと値のペアです。ラベルを使用すると、 Kubernetes オブジェクトのソート、整理、検索が簡単になります。Kubernetes のラベルの詳細については、 "Kubernetes の公式ドキュメントを参照してください"。
-
開始する前に、を理解しておく必要があります "標準ネームスペースとシステムネームスペースの管理"。
-
Astra Controlのアプリケーションで複数の名前空間を使用する場合は、 "ネームスペースの制約を持つユーザロールを変更します" 複数の名前空間をサポートするAstra Control Centerバージョンにアップグレードした後。
-
Astra Control API を使用してアプリケーションを管理する方法については、を参照してください "Astra の自動化と API に関する情報"。
アプリケーションとして管理するリソースを定義します
を指定できます "アプリケーションを構成するKubernetesリソース" Astra Controlで管理したい。アプリケーションを定義すると、Kubernetesクラスタの要素を1つのアプリケーションにグループ化できます。このKubernetesリソースの集まりは、ネームスペースとラベル選択条件によって分類されます。
アプリケーションを定義することで、クローン、スナップショット、バックアップなどのAstra Control操作に含めるものをより細かく制御できます。
|
|
アプリケーションを定義するときは、保護ポリシーを使用して複数のアプリケーションにKubernetesリソースを含めないようにしてください。Kubernetesリソースの保護ポリシーが重複していると、原因 のデータが競合する可能性があります 詳細については、例を参照してください。 |
アプリケーションネームスペースへのクラスタを対象としたリソースの追加の詳細については、こちらをご覧ください。
ネームスペースリソースに関連付けられているクラスタリソースを、自動的に含まれるアストラコントロールに加えてインポートできます。特定のグループ、種類、バージョンのリソースを含むルールを追加し、必要に応じてラベルを付けることができます。この処理は、Astra Controlに自動的に含まれないリソースがある場合などに実行します。
Astra Controlに自動的に含まれる、クラスタを対象としたリソースを除外することはできません。
以下を追加できます apiVersions (APIバージョンと組み合わせたグループ)。
| リソースの種類 | 1回あたりのバージョン(グループ+バージョン) |
|---|---|
|
rbac.authorization.k8s.io/v1 |
|
rbac.authorization.k8s.io/v1 |
|
apiextensions.k8s.io/v1、apiextensions.k8s.io/v1beta1 |
|
apiextensions.k8s.io/v1、apiextensions.k8s.io/v1beta1 |
|
admissionregistration.k8s.io/v1 |
|
admissionregistration.k8s.io/v1 |
-
[アプリケーション(Applications)]ページで、[定義( Define)]を選択します
-
[アプリケーションの定義(* Define application)]ウィンドウで、アプリケーション名を入力します。
-
[Cluster]ドロップダウン・リストから、アプリケーションが実行されているクラスタを選択します。
-
「名前空間」ドロップダウンリストからアプリケーションの名前空間を選択します。
アプリケーションは、Astra Controlを使用して、単一クラスタ上の1つ以上の指定された名前空間内で定義できます。アプリケーションには、同じクラスタ内の複数のネームスペースにまたがるリソースを含めることができます。Astra Controlでは、複数のクラスタ間でアプリケーションを定義する機能はサポートされていません。 -
(オプション)各ネームスペースにKubernetesリソースのラベルを入力します。ラベルまたはラベルの選択基準(クエリー)を1つ指定できます。
Kubernetes のラベルの詳細については、 "Kubernetes の公式ドキュメントを参照してください"。 -
(オプション)「名前空間の追加」を選択し、ドロップダウンリストから名前空間を選択して、アプリケーションの名前空間を追加します。
-
(オプション)追加するネームスペースのラベルまたはラベルの選択基準を1つ入力します。
-
(オプション)Astra Controlに自動的に含まれるリソースに加えて、クラスタを対象としたリソースを含めるには、*クラスタを対象とした追加のリソースを含める*をチェックし、次の手順を実行します。
-
「含めるルールを追加」を選択します。
-
グループ:ドロップダウンリストから、リソースのAPIグループを選択します。
-
*kind *:ドロップダウンリストから'オブジェクトスキーマの名前を選択します
-
バージョン:APIのバージョンを入力します。
-
ラベルセレクタ:必要に応じて、ルールに追加するラベルを指定します。このラベルは、このラベルに一致するリソースのみを取得するために使用します。ラベルを指定しないと、Astra Controlは、そのクラスタに指定されている種類のリソースのすべてのインスタンスを収集します。
-
エントリに基づいて作成されたルールを確認します。
-
「 * 追加」を選択します。
クラスタを対象としたリソースルールは必要な数だけ作成できます。[アプリケーションの定義の概要]にルールが表示されます。
-
-
[ * 定義( Define ) ] を選択します
-
[定義(Define *)]を選択した後、必要に応じて他のアプリケーションについても同じ手順を繰り返します。
アプリケーションの定義が完了すると、アプリケーションがに表示されます Healthy 「アプリケーション」ページのアプリケーションのリストに表示されます。クローンを作成し、バックアップとスナップショットを作成できるようになりました。
|
|
追加したアプリケーションの保護列に警告アイコンが表示されている場合は、バックアップされておらず、まだバックアップのスケジュールが設定されていないことを示しています。 |
|
|
特定のアプリケーションの詳細を表示するには、アプリケーション名を選択します。 |
このアプリに追加されたリソースを表示するには、*リソース*タブを選択します。Resource列でリソース名のあとの番号を選択するか、Searchでリソース名を入力して、追加のクラスタを対象としたリソースを確認します。
アプリケーションとして管理するネームスペースを定義します
ネームスペースのリソースをアプリケーションとして定義することで、ネームスペース内のすべてのKubernetesリソースをAstra Control管理に追加できます。特定の名前空間内のすべてのリソースを同じような方法で、共通の間隔で管理および保護する場合は、アプリケーションを個別に定義することをお勧めします。
-
クラスタページで、クラスタを選択します。
-
[名前空間]タブを選択します。
-
管理するアプリケーションリソースを含む名前空間のアクションメニューを選択し、*アプリケーションとして定義*を選択します。
複数のアプリケーションを定義する場合は、名前空間リストから選択し、左上隅の*アクション*ボタンを選択して、*アプリケーションとして定義*を選択します。これにより、個 々 のネームスペースに複数のアプリケーションが定義されます。マルチネームスペースアプリケーションについては、を参照してください アプリケーションとして管理するリソースを定義します。 [システムネームスペースを表示(Show system Namespaces)]チェックボックスを選択して、アプリケーション管理で通常はデフォルトで使用されないシステムネームスペースを表示します。
"詳細はこちら"。
このプロセスが完了すると、ネームスペースに関連付けられているアプリケーションがに表示されます Associated applications 列(Column):
システムネームスペースについて教えてください。
Astra Controlは、Kubernetesクラスタ上のシステムネームスペースも検出します。これらのシステムネームスペースはデフォルトでは表示されません。システムアプリケーションリソースのバックアップが必要になることがまれです。
選択したクラスタの[ネームスペース]タブからシステムネームスペースを表示するには、[システムネームスペースを表示]チェックボックスをオンにします。

|
|
Astra Control 自体は標準のアプリケーションではなく、「システムアプリケーション」です。 Astra Control 自体は管理しないでください。Astra Control 自体は、管理用にデフォルトでは表示されません。 |
例:リリースごとに保護ポリシーを分ける
この例では、DevOpsチームが「カナリアリリースの導入を管理しています。チームのクラスタにはnginxを実行するポッドが3つあります。そのうちの 2 つのポッドは、安定版リリース専用です。3 番目のポッドはカナリアリリース用です。
DevOpsチームのKubernetes管理者がラベルを追加します deployment=stable を使用して、安定版リリースポッドに移動しますチームがラベルを追加します deployment=canary カナリアリリースポッドに移動します。
チームの安定版リリースには、 1 時間ごとの Snapshot と日次バックアップの要件が含まれています。カナリアリリースはより一時的なリリースなので、ラベル付きのものは何でも短時間で、よりアグレッシブな保護ポリシーを作成したいと考えています deployment=canary。
データの競合を回避するために、管理者は「カナリア」リリース用と「stable」リリース用の2つのアプリケーションを作成します。これにより、 Kubernetes オブジェクトの 2 つのグループに対して、バックアップ、 Snapshot 、およびクローニングの処理が分離されます。