Kubernetesとは
Kubernetes(クバネティス / K8s)とは、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するオープンソースのコンテナオーケストレーションプラットフォームです。Googleが社内で使用していたBorgシステムをベースに開発され、現在はCNCF(Cloud Native Computing Foundation)が管理しています。
Kubernetesの主要機能
Kubernetesは自動スケーリング、自己修復(コンテナの再起動や再配置)、ロードバランシング、ローリングアップデート、シークレット管理などの機能を提供します。Podという最小単位でコンテナを管理し、Deployment、Service、Ingressなどのリソースでアプリケーションの構成を宣言的に定義します。
AI/MLワークロードでのKubernetes
Kubernetesは大規模AI/MLワークロードの実行基盤として広く採用されています。Kubeflowは Kubernetes上にMLパイプラインを構築するためのプラットフォームで、学習ジョブのスケジューリング、ハイパーパラメータチューニング、モデルサービングを統合的に管理します。NVIDIA GPU OperatorによりGPUリソースの動的割り当ても可能です。
マネージドKubernetes
各クラウドプロバイダーはマネージドKubernetesサービスを提供しています。GKE(Google Kubernetes Engine)、EKS(Amazon Elastic Kubernetes Service)、AKS(Azure Kubernetes Service)を利用すれば、コントロールプレーンの管理はプロバイダーに任せ、ワークロードの運用に集中できます。