Nexus Kubernetes クラスターの概要

この記事では、Nexus Kubernetes クラスターの主要な概念について説明します。これはコンテナ化されたアプリケーションを Azure Operator Nexus プラットフォームにデプロイして運用するために使用できるマネージド Kubernetes サービスです

Kubernetes とは

Kubernetes は、コンテナー ベース アプリケーションとそれに関連するネットワークおよびストレージ コンポーネントを管理するプラットフォームであり、急速に進化しています。 Kubernetes では、基になるインフラストラクチャ コンポーネントではなく、アプリケーション ワークロードに重点が置かれています。 管理操作のための一連の堅牢な API によって支援され、デプロイに対して宣言型のアプローチを提供します。 Kubernetes について詳しくは、「Kubernetes とは」をご覧ください。

Nexus Kubernetes サービス

Nexus Kubernetes クラスター サービスは、Nexus インスタンス上のオンプレミス デプロイ用に設計された Kubernetes ディストリビューションです。 コンテナーの自動作成を効率化するように設計されていて、データ集約型ネットワーク機能に関連するワークロードの実行向けに最適化されています。

他の Kubernetes クラスターと同様に、Nexus Kubernetes クラスターには次の 2 つのコンポーネントがあります。

  • コントロール プレーン: 主要な Kubernetes サービスを提供し、アプリケーション ワークロードのライフ サイクルを管理します。

  • ノード: アプリケーションとサポート対象のサービスを実行するには、Kubernetes ノードが必要です。 これはコンテナー ランタイム環境を提供します。 各 NKS クラスターには、少なくとも 1 つのノードがあります。 ノードは、Kubernetes ノード コンポーネントを実行する仮想マシン (VM) です。 VM は、Nexus インスタンス上の NKS クラスター デプロイの一部として作成されます。 Nexus Kubernetes クラスターには次の 2 種類のノード プールがあります

    • AKS クラスターを作成するときは、ノードの初期数とそのサイズ (SKU) を定義し、システム ノード プールを作成します。 システム ノード プールは、重要なシステム ポッドをホストします。
    • 一方、コンピューティングまたは記憶域の要件が異なるアプリケーションをサポートするために、ユーザー ノード プール (Nexus エージェント プールとも呼ばれます) を作成できます。 Nexus エージェント プール内の各 VM は、CPU、メモリ、ディスクなどの統一された構成に従います。 エージェント プールが確立されると、その中の VM の数は固定されたままになります。 Nexus Kubernetes クラスターの容量をスケーリングするために、より多くのエージェント プールを作成し、既存のクラスターに統合できます。 つまり、Nexus エージェント プールは、Nexus Kubernetes クラスター内のエージェント プールを追加または削除できるようにすることで、水平スケーリングをサポートします。

ただし、クラスター内のノード プールを 1 つだけにすることをユーザーが求める場合、システム ノード プール上にアプリケーション ポッドをスケジュールできます。 各 Nexus Kubernetes クラスターには、少なくとも 1 つのノードを含むシステム ノード プールが、少なくとも 1 つ含まれている必要があります。

Nexus Kubernetes クラスターのアドオン

Nexus Kubernetes クラスターのアドオンは、顧客が追加のパッケージまたは機能を使用して Nexus Kubernetes クラスターを拡張できる Nexus プラットフォームの機能です。 アドオンは、必須と省略可能の 2 種類に分類されます。

  • 必須のアドオン: アドオンは、プロビジョニングされた Nexus Kubernetes クラスターに自動的にデプロイされます。 Calico、MetalLB、Nexus Storage CSI、IPAM プラグイン、metrics-server、node-local-dns、Arc for Kubernetes、Arc for Servers などのコア アドオンが、クラスターの作成時に既定で含められます。 クラスター プロビジョニング プロセスが正常に完了するかどうかは、これらのアドオンが正常にインストールされるかどうかによって変わります。 必須のアドオンのインストールが失敗し、修正できない場合、クラスターの状態に失敗のマークが付けられます。

  • 省略可能なアドオン: アドオンは、Kubernetes クラスター リソースに関連付けられている補助サービスです。 顧客は、必要に応じてこれらのアドオンをアクティブまたは非アクティブにできます。 補助サービスの例として、切断されたシナリオをサポートするための、クラスター レベルのローカル イメージ キャッシュ レジストリの、NKS クラスター内へのデプロイがあります。 NKS を使用すると顧客は、必須のアドオンと省略可能なアドオンそれぞれの状態、正常性、バージョンを確認できます。これは Azure portal で監視することも、Azure Resource Manager API を使用して状態をフェッチすることもできます。

アドオンは 1 回インストールされ、顧客が Nexus Kubernetes クラスターをアップグレードするときにのみ更新またはアップグレードできます。 これにより、顧客は、基になるインフラストラクチャ操作からの干渉なしに重要な運用修正プログラムを適用できます。このようになっていない場合、顧客によるクラスターの変更が上書きされるおそれがあります。

Nexus の可用性ゾーン

Nexus は、可用性ゾーンの概念を導入しています。 これはラック レベルで区切られていて、顧客はインスタンス全体にワークロードを分散して、より優れた可用性を実現できます。 8 つのラックがある Nexus インスタンスの場合、顧客は 8 つの可用性ゾーンを取得します。 各ゾーンは、冗長性がある管理サーバーのペアと、リソース プールとして機能するコンピューティング サーバーのコレクションで構成されます。 Nexus へのマルチラックのデプロイ中と、ランタイム バンドルのアップグレードの実行時に、可用性ゾーンは、アップグレード ドメインとして機能する追加の利点を提供します。 これにより、これらのアップグレードのためにオフラインになるのは、最大で 1 つのラック内のサーバーのみになります。

障害ドメイン

Operator Nexus により、Nexus Kubernetes クラスター ノードがアップグレード ドメインに分散されます。 この分散は、クラスターの回復性と可用性を向上させる方法で行われます。 Operator Nexus は、Kubernetes アフィニティ ルールを使用して、特定のゾーン内にノードをスケジュールします。 これにより、基になる VM が同じ物理サーバーや同じアップグレード ドメインに配置されることがなくなり、クラスターのフォールト トレランスが向上します。

次のステップ