Azure Kubernetes Service (AKS) クラスターを作成し、仮想ノードを使用できるように構成する
AKS クラスターでアプリケーション ワークロードをすばやくスケーリングするには、仮想ノードを使用します。 仮想ノードを使用すると、ポッドを短時間でプロビジョニングできるため、ポッドの実行時間に対して秒単位の支払いだけで済みます。 Kubernetes クラスターのオートスケーラーが VM コンピューティング ノードをデプロイしてより多くのポッドを実行するのを待つ必要はありません。 仮想ノードは、Linux のポッドとノードでのみサポートされます。
AKS 用の仮想ノード アドオンは、オープン ソース プロジェクト Virtual Kubelet に基づいています。
この記事では、仮想ノードを使用する上でのリージョンの可用性およびネットワークの要件の概要と、既知の制限事項について説明します。
リージョン別の提供状況
ACI によって VNET SKU がサポートされているリージョンはすべて、仮想ノードのデプロイに対応しています。 詳細については、「Azure リージョンの Azure Container Instances のリソースの可用性」を参照してください。
各リージョンで使用可能な CPU およびメモリ SKU については、Azure リージョン内の Azure Container Instances 用の Azure Container Instances リソースの可用性 (Linux コンテナー グループ) に関するページを確認してください
ネットワークの要件
仮想ノードを使用すると、Azure Container Instances (ACI) および AKS クラスターで実行されているポッド間でのネットワーク通信が可能になります。 この通信をサポートにするために、仮想ネットワーク サブネットが作成され、委任されたアクセス許可が割り当てられます。 仮想ノードは、"高度" ネットワーク (Azure CNI) を使用して作成された AKS クラスターに対してのみ機能します。 既定では、AKS クラスターは "基本" ネットワーク (kubenet) を使用して作成されます。
Azure Container Instances (ACI) で実行されているポッドは、ネットワークを構成するために、AKS API サーバー エンドポイントにアクセスする必要があります。
制限事項
仮想ノードの機能は、ACI の機能セットに大きく依存します。 Azure Container Instances のクォータと制限に加えて、仮想ノードでサポートされないシナリオ、またはデプロイに関する考慮事項を次に示します。
- サービス プリンシパルを使用した ACR イメージのプル。 対処法は、Kubernetes シークレットを使用することです
- 仮想ネットワークの制限事項 (VNet ピアリング、Kubernetes ネットワーク ポリシー、およびネットワーク セキュリティ グループを使用したインターネットへの送信トラフィックなど)。
- Init コンテナー
- ホストのエイリアス
- ACI の exec の引数
- DaemonSets を使用すると、ポッドは仮想ノードにデプロイされません
- Windows Server のコンテナーを ACI にスケジュールするには、オープンソースの Virtual Kubelet ACI プロバイダーを手動でインストールする必要があります。
- 仮想ノードには、Azure CNI ネットワークを使用した AKS クラスターが必要です。
- AKS には、API サーバーの許可された IP 範囲を使用する。
- Azure Files 共有のサポート汎用 V2 と汎用 V1 をマウントするボリューム。 ただし、仮想ノードでは現在、永続ボリュームと永続ボリューム要求がサポートされていません。 Azure Files 共有を含むボリュームをインライン ボリュームとしてマウントする手順に従います。
- IPv6 の使用はサポートされていません。
- 仮想ノードでは、コンテナー フック機能はサポートされていません。
次のステップ
ご利用のクラスターに対して仮想ノードを構成します。
多くの場合、仮想ノードは AKS のスケーリング ソリューションの 1 つのコンポーネントです。 スケーリング ソリューションの詳細については、次の記事を参照してください。
Azure Kubernetes Service