Azure Stack Edge Pro GPU デバイスでの Kubernetes

適用対象:はい (Pro GPU SKU の場合)Azure Stack Edge Pro - GPUはい (Pro 2 SKU の場合)Azure Stack Edge Pro 2はい (Pro R SKU の場合)Azure Stack Edge Pro Rはい (Mini R SKU の場合)Azure Stack Edge Mini R

Kubernetes はコンテナー化されたアプリケーションを調整するための一般的なオープンソース プラットフォームです。 この記事では、Kubernetes の概要を説明し、さらに Azure Stack Edge デバイス上で Kubernetes がどのように機能するかについて説明します。

Kubernetes について

Kubernetes とは、コンテナーベースのアプリケーションとそれに関連するネットワークおよびストレージのコンポーネントを管理するための簡単で信頼性の高いプラットフォームです。 Kubernetes を使用すれば、コンテナー化されたアプリを迅速にビルド、配信、スケーリングすることができます。

オープン プラットフォームとして Kubernetes を使用すれば、使いたいプログラミング言語、OS ライブラリ、またはメッセージング バスでアプリケーションを開発することができます。 リリースをスケジュール設定してデプロイする場合は、Kubernetes を既存の継続的インテグレーションおよび継続的デリバリー ツールと連携させることができます。

詳細については、Kubernetes のしくみに関するページを参照してください。

Azure Stack Edge での Kubernetes

Azure Stack Edge デバイス上で、Kubernetes クラスターを作成するにはコンピューティングを構成します。 コンピューティング ロールが構成されると、マスターおよびワーカー ノードを含む Kubernetes クラスターはすべて自動的にデプロイおよび構成されます。 その後、このクラスターは、kubectl、IoT Edge、または Azure Arc を介したワークロードのデプロイに使用されます。

Azure Stack Edge デバイスは、インフラストラクチャ クラスターを構成する 1 ノード構成または 2 ノード構成 (Pro GPU モデルのみ) として使用できます。 Kubernetes クラスターはインフラストラクチャ クラスターから分離され、インフラストラクチャ クラスターの上にデプロイされます。 インフラストラクチャ クラスターは、Azure Stack Edge デバイス用の永続的なストレージを提供します。一方、Kubernetes クラスターはアプリケーション オーケストレーション専用となります。

Kubernetes クラスターには、マスター ノードとワーカー ノードがあります。 クラスター内の Kubernetes ノードは、ご利用のアプリケーションとクラウド ワークフローを実行する仮想マシンです。

Kubernetes マスター ノードは、ご利用のクラスターにとって望ましい状態を維持する役割を担います。 マスター ノードではさらに、コンテナー化されたアプリケーションを実行するワーカー ノードも制御されます。

シングル ノード デバイスの Kubernetes クラスター

次の図に、1 ノードの Azure Stack Edge デバイスへの Kubernetes の実装を示します。 1 ノードのデバイスには、1 つのマスター ノードと 1 つのワーカー ノードがあります。 1 ノード デバイスは可用性が高くないため、1 つのノードで障害が発生した場合、デバイスはダウンします。 Kubernetes クラスターもダウンします。

1 ノードの Azure Stack Edge デバイスの Kubernetes アーキテクチャ

2 ノード デバイスの Kubernetes クラスター

2 ノードの Azure Stack Edge デバイスには、1 つのマスター ノードと 2 つのワーカー ノードがあります。 2 ノードのデバイスは高可用性であり、いずれかのノードで障害が発生した場合、マスター ノードは他のノードにフェールオーバーします。 デバイスと Kubernetes クラスター両方の実行は維持されます。

Kubernetes クラスター アーキテクチャの詳細については、Kubernetes の主要な概念に関するドキュメントを参照してください。

Kubernetes のコンピューティング要件

Kubernetes のマスター ノードとワーカー ノードは、CPU とメモリを消費する仮想マシンです。 Kubernetes ワークロードをデプロイする場合は、マスター VM とワーカー VM のコンピューティング要件を理解しておくことが重要です。

Kubernetes VM の種類 CPU とメモリの要件
マスター VM CPU: 4 コア、RAM: 4 GB
ワーカー VM CPU: 使用可能な物理コアの 30%、RAM: デバイス仕様の 25%

ストレージ ボリュームのプロビジョニング

アプリケーション ワークロードをサポートするために、ご利用の Azure Stack Edge デバイス共有上の永続的なデータ用にストレージ ボリュームをマウントできます。 静的ボリュームと動的ボリュームの両方を使用できます。

詳細については、Azure Stack Edge デバイス用の Kubernetes ストレージに関するページに記載されているアプリケーション用のストレージ プロビジョニング オプションを参照してください。

ネットワーク

Kubernetes ネットワークを使用すると、ご利用の Kubernetes ネットワーク内で通信を構成できます。これには、コンテナー間のネットワーク、ポッド間のネットワーク、ポッド対サービスのネットワーク、インターネット対サービスのネットワークなどが含まれます。 詳細については、Azure Stack Edge デバイス用の Kubernetes ネットワークに関するページのネットワーク モデルを参照してください。

更新プログラム

新しい Kubernetes バージョンが利用可能になると、ご利用の Azure Stack Edge デバイスに提供される標準の更新プログラムを使用してクラスターをアップグレードできます。 アップグレード方法の手順については、Azure Stack Edge への更新プログラムの適用に関するページを参照してください。

アクセス、監視

ご利用の Azure Stack Edge デバイス上の Kubernetes クラスターでは、Kubernetes ロールベースのアクセス制御 (Kubernetes RBAC) を行うことができます。 詳細については、「Azure Stack Edge Pro GPU デバイスでの Kubernetes ロールベースのアクセス制御」を参照してください。

また、Kubernetes ダッシュボードを介して、クラスターとリソースの正常性を監視することもできます。 コンテナーのログも利用できます。 詳細については、Kubernetes ダッシュボードを使用して Azure Stack Edge デバイス上の Kubernetes クラスターの正常性を監視に関するページを参照してください。

Azure Monitor は、コンテナー、ノード、およびコントローラーから正常性データを収集するためのアドオンとしても利用できます。 詳細については、「Azure Monitor の概要」を参照してください。

Edge コンテナー レジストリ

Azure Stack Edge デバイス上の Kubernetes では、ローカル コンテナー レジストリを指定することで、イメージのプライベート ストレージを使用できます。 詳細については、「ご自分の Azure Stack Edge Pro GPU デバイスで Edge コンテナー レジストリを有効にする」をご覧ください。

アプリケーション管理

ご利用の Azure Stack Edge デバイスに Kubernetes クラスターが作成されたら、次のいずれかの方法を使用して、このクラスターにデプロイされたアプリケーションを管理できます。

  • kubectl を介したネイティブ アクセス
  • IoT Edge
  • Azure Arc

これらの方法については、以下のセクションで説明します。

Kubernetes と kubectl

Kubernetes クラスターがデプロイされると、クラスターにデプロイされたアプリケーションをクライアント コンピューターからローカルで管理できます。 アプリケーションとやりとりするには、コマンド ラインを介して kubectl などのネイティブ ツールを使用します。

Kubernetes クラスターのデプロイの詳細については、Azure Stack Edge デバイスへの Kubernetes クラスターのデプロイに関するページを参照してください。 管理の詳細については、kubectl を使用して Azure Stack Edge デバイス上で Kubernetes クラスターを管理する方法に関するページを参照してください。

Kubernetes と Azure Arc

Azure Arc は、Kubernetes クラスターにアプリケーションをデプロイするためのハイブリッド管理ツールです。 また、Azure Arc を使用すると、コンテナーに対して Azure Monitor を使用して、ご利用のクラスターを表示および監視することもできます。 詳細については、Azure Arc 対応 Kubernetes の概要に関するページを参照してください。 Azure Arc の価格については、Azure Arc の価格に関するページを参照してください。

2021 年 3 月以降、Azure Arc 対応 Kubernetes がユーザーに一般提供され、標準の使用料金が適用されています。 プレビュー版のお客様は、特典として、Azure Stack Edge デバイスに対して Azure Arc 対応 Kubernetes を無料でご利用いただけます。 プレビュー オファーを利用するには、サポート リクエストを作成します。

  1. [問題の種類][課金] を選択します。
  2. [サブスクリプション] でご使用のサブスクリプションを選択します。
  3. [サービス] で、[使用中のサービス] を選択してから、[Azure Stack Edge] を選択します。
  4. [リソース] で、お使いのリソースを選択します。
  5. [Summary](要約) に、問題の説明を入力します。
  6. [問題の種類] で、[予期しない料金] を選択します。
  7. [問題のサブタイプ] で、[Help me understand charges on my free trial]\(無料試用版への請求について説明してほしい\) を選択します。

次のステップ