Microsoftは、同社のマネージドKubernetesサービスのAzure Kubernetes Serviceに関する複数のアップデートを発表した。発表には、AKS仮想ノードに関する機能、Azure Container InstanceでのGPUサポートの他、Virtual KubeletプロジェクトのCloud Native Compute Foundationへの寄付も含まれていた。
{0}Azure Kubernetes Service(AKS){/0}は、Kubernetesのデプロイと運用に加えて、エンドユーザによるノード構成のカスタマイズも可能な、完全マネージドなサービスであるGoogle Kubernetes EngineやAmazon Elastic Container Service for Kubernetesといった同種のサービスと同じく、MicrosoftがAKSで目標とするのは、Kunernetesコンテナの構築と実行のためのより簡易なエクスペリエンスを提供することだ。従って、Microsoftr MVPである上級ソフトウェア開発者のDaniel Krzyczkowski氏によると、AKSを使用することには次のようないくつかのメリットがある。
- Kubernetesのマスタとすべてのノードがデプロイおよび構成される
- Dockerイメージフォーマットがサポートされている
- 作成したAzureクラスタで、Azure FilesとAzure Disksがサポートされる
- Azure Container Registry(ACR)との統合
- HTTP Application Routingソリューションにより、AKSクラスタにデプロイされたアプリケーションへのアクセスが簡単である
発表されたAKS仮想ノードにより、Azure Container Instances(ACI)をAKSコンテナのホストとして使用することが可能になる。コンテナ実行のサーバレスプラットフォームであるACLでは、コンテナが秒単位で起動可能であると同時に、課金も秒単位で行われる。従ってこの組み合わせは、AKSクラスタを負荷に従って短時間でスケールアップおよびスケールダウンすることを可能にする。コンテナの管理は引き続きAKSが行うので、そのツールや機能をすべて使用することができる。AKS仮想ノードを使用するには、ポータルでスイッチをオンにするか、Azure CLI経由で指定する。
引用: https://docs.microsoft.com/en-us/azure/aks/virtual-nodes-portal
Azure Container Instanceの仮想ネットワーク接続サポートについてはすでに発表されていたが、今回、ACIでのGPUリソースのサポートも発表された。GPUベースのリソースのサポート提供により、CUDAやディープラーニングといった計算集約型のアプリケーションを実行できるようになる。さらに、仮想ノードを使うことで、これらGPUリソースをAKSから使用することも可能になる。これらの機能を実装するため、Microsoftでは、NVIDIA Tesla GPUを使用している。当面はK80、P100、V100が対象だが、他のGPUを要求するオプションも提供されている。
さらにAKS仮想ノードは、MicrosoftがオープンソースプロジェクトとしてリリースしたVirtual Kubelet上に構築されており、Kubernetesから他のAPIへのアクセスが可能になっている。Azure Container Instances以外にも、Kubernetesを使用したコンテナプラットフォームの拡張にVirtual Kubernetesを使用したいくつかの例が、GitHubのリポジトリ資料に紹介されている。
- Alibaba Cloud ECI Provider
- Azure Container Instances Provider
- Azure Batch GPU Provider
- AWS Fargate Provider
- Hyper.sh Provider
- Service Fabric Mesh Provider
今回の発表では、Virtual KubeletプロジェクトのCloud Native Compute Foundationへの寄贈についても言及されており、現在は同財団のサンドボックスプロジェクトの一部になっている。このプロジェクトには4つの目標がある。
- CNCFのミッションに寄与する可能性のある実験や他の初期研究の社会的認知度を高め、インキュベーションレベルのプロジェクトが成功する土壌を醸成する。
- 必要な場合(のみ)には、既存プロジェクトに積極的な働きかけを行う。
- (CNCF Service Desk への要望などを通じて)プロジェクトを育成する。
- すべてのプロジェクトがCNCFの法的および行動規範とIPポリシ要件を遵守することにより、採用やコントリビューションにおける法的ないし政治的障害を排除する。
プロジェクトがCNCFに寄贈されたことで、さらなる公式化の機会が与えられるため、Virtual Kubeletのより広範な採用が可能になる。
News Manager 12月19日更新: 本記事は訂正され、“さらに仮想ノードを使うことで、LinuxとWindows両方のコンテナをAKS上で実行可能になった”という不正確な文が削除された。これは、元になった資料にやや紛らわしい表現があったためだ。詳細は下記コメントの議論を参照されたい(訳注: 原文のコメント)。この件を指摘してくれたJean-Francois Breton氏に感謝する。