本文へスキップ

Kubernetesとは?

くーばねてぃす

Kubernetesとは、コンテナ化されたアプリケーションの展開・スケーリング・管理を自動化するオープンソースのコンテナオーケストレーションシステムのことです。

Kubernetes(クバネティス、略称 k8s)は、Googleが自社の大規模コンテナ管理システム「Borg」の知見をもとに開発し、2014年にオープンソースとして公開したコンテナオーケストレーションプラットフォームです。現在はCloud Native Computing Foundation(CNCF)が管理しておりクラウドネイティブな開発の事実上の標準となっています。

Kubernetesの主な機能は以下のとおりです。

  • 自動デプロイとロールバック:アプリケーションの新バージョンを段階的に展開し、問題があれば自動的に以前のバージョンに戻す
  • オートスケーリング:CPU使用率やカスタムメトリクスに応じてPod数を自動増減
  • 自己修復:クラッシュしたコンテナを自動再起動し、ノード障害時はPodを別ノードに再スケジュール
  • サービスディスカバリと負荷分散:コンテナ間の通信を自動的に解決し、トラフィックを均等分散

基本的な構成要素として、Podが最小デプロイ単位(1つ以上のコンテナをまとめた単位)、DeploymentがPodの宣言的な状態管理、Serviceがネットワークエンドポイントの抽象化を担います。インフラの状態を「あるべき姿」として宣言的に記述するYAMLファイルで管理する「IaC(Infrastructure as Code)」との親和性も高いです。

クラウド各社(AWS EKS、Google GKE、Azure AKS)がマネージドサービスを提供しており、オンプレミス環境でも広く使われています。

使い方・例文

「マイクロサービスに分割した決済システムをKubernetesで管理し、ピーク時は自動スケールで処理能力を3倍に拡張できるようにした」という形で、インフラ・DevOpsの文脈で頻繁に登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語