本文へスキップ
Dev Dailyエンジニア デイリーニュース

用語 · インフラ

K8s1

Kubernetes (K8s) とは: コンテナを自動で運用するオーケストレーションツール

読み: クバネティス

Kubernetes (K8s) は、コンテナ化されたアプリケーションのデプロイ・スケール・復旧を自動化するオーケストレーションツールです。複数サーバーにまたがるコンテナを「あるべき状態」として宣言的に定義し、その状態を維持し続けます。クラウドネイティブ運用の事実上の標準です。

Kubernetes (K8s) は、コンテナ化されたアプリケーションの運用を自動化するオーケストレーションツールです。もともと Google 社内の運用知見をもとに開発され、現在は CNCF (Cloud Native Computing Foundation) が中立的に管理する OSS で、kubernetes/kubernetes が本体リポジトリです。クラウドネイティブな運用基盤の事実上の標準になっています。

中心となる考え方は「宣言的な状態管理」です。利用者は「このアプリのコンテナを 3 つ動かす」といった "あるべき状態" を YAML マニフェストで宣言します。Kubernetes は現在の状態を常に監視し、宣言した状態とのズレを自動で埋めようとします。たとえばコンテナが落ちれば自動で再起動し、負荷が増えれば設定に応じて台数を増やします。

主な構成要素

最小の実行単位は Pod (1 つ以上のコンテナをまとめた単位) で、複数の Pod の世代管理を Deployment が担い、外部からのアクセス経路を Service が抽象化します。これらを組み合わせることで、サーバー 1 台 1 台を手で管理することなく、アプリ全体を「あるべき状態」として運用できます。

近年はネイティブなサイドカー機能の安定化など、運用しやすさを高める改善が継続的に進んでいます。学習コストは小さくありませんが、複数サービスを安定して動かす規模になると、その自動化の恩恵は大きくなります。

この記事を共有:でポストはてブ

関連する用語

出典

注記: 本記事は公開情報をもとにした技術情報の提供を目的としています。 最新の仕様や挙動は必ず一次情報 (公式ドキュメント・リリースノート) をご確認ください。