Kubernetes 【K8s】

概要

Kubernetes(K8s)とは、「コンテナオーケストレーションツール」と呼ばれる、データセンターにおけるコンテナ管理を自動化・効率化するソフトウェアの一つ。大規模環境でのコンテナ管理に適している。

コンテナ仮想化技術の一つで、稼働中のオペレーティングシステムOS)上で隔離された専用のエリアを生成し、その内部でソフトウェアを動作させる手法である。この隔離された区画がコンテナで、他の仮想化技術に比べ生成や破棄が迅速で実行速度も高速という特徴がある。

通常はコンテナの作成や廃棄、コンテナ上でのアプリケーションの起動、アプリケーションコンテナ間の移動などは人間が操作して個別に指示を出すが、大量のコンピュータを並行して動作させる大規模な環境では管理作業が煩雑になってしまう。

そのような場合に管理を効率化するのがKubernetesの役割で、管理者は中央システムマスター)で設定や操作をい、マスターからの指示でコンテナが稼働する個々のサーバノード)が制御される。マスターノードコンテナの状態を常に監視(ヘルスチェック)しており、障害が発生したコンテナを停止して他のノードに移し替える(フェイルオーバー)といった制御を自動的になってくれる。

アプリケーションコンテナ化されて展開される。管理下にあるノード群へ開発したアプリケーションを投入したり、更新を反映したり、展開するノードの規模(スケール)を拡大あるいは縮小するといった制御もマスターから集中的に、一部の操作は設定に従って自動的にうことができる。

Kubernetes自体はコンテナ仮想化を提供するわけではなく、コンテナ化のためのシステム(コンテナランタイム)が別途必要になる。著名なランタイムの「Docker」と共に使われることが多いが、containerdやCRI-Oなど他のランタイムでも利用できる。「CRI」(Container Runtime Interface)というコンテナ制御のための標準APIを定義しており、これに準拠していればこれら以外の製品を使うこともできる。

Kubernetesの初版は2014年に米グーグルGoogle)社によって発表された。その後、同社を中心に設立された非営利団体「CNCF」(Cloud Native Computing Foundation)に移管され、Apacheライセンスに基づいてオープンソースソフトウェアとして公開されている。

企業などが自社データセンターなどで利用できるほか、クラウドサービスでもGoogle社の「Google Cloud Platform」(GCP)における「Google Kubernetes Engine」(GKE)や、米アマゾンドットコムAmazon.com)社の「Amazon Web Services」(AWS)における「Amazon Elastic Kubernetes Service」(Amazon EKS)などの形で利用することができる。

(2022.12.2更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる