Kubernetesとは?
「Kubernetes」は、コンテナ化されたサービスの設定や管理を自動で行うOSS(オープンソースソフトウェア)です。あるコンテナが動作を停止したときに別のコンテナを起動したり、サービスへの負荷の状況によってサーバのリソースを増減させたりと、多数のコンテナを運用管理する際に必要な機能を備えています。このようなソフトウェアを「コンテナオーケストレーションプラットフォーム」と呼びます。
Kubernetes以外にも同様の機能を持つソフトウェアは存在しますが、2021年現在、Kubernetesが最もよく使われているといえるでしょう。
Kubernetesは、当初はGoogleが開発していましたが、2015年にLinux Foundation傘下の組織Cloud Native Computing Foundation(CMCF)に寄贈されました。Amazon Web ServicesやMicrosoftなどの企業が参加するコミュニティーを中心として開発、アップデートが行われています。
Kubernetesの特徴
サービスディスカバリと負荷分散
Kubernetesは、サービスに接続するためのIPアドレスやポート番号などの情報を発見する「サービスディスカバリ」機能を提供します。Kubernetesのデプロイにおける最小単位「Pod」(後述)に独自のIPアドレスを割り振ったり、同じ設定で複製したオブジェクトに対して固有のDNS名を付与したり、複製したオブジェクトの負荷を分散させたりすることができます。
ストレージオーケストレーション
Kubernetesには、クラウドサービスが提供するITインフラを抽象化するAPIが備わっています。パブリッククラウドプロバイダー、ローカルストレージ、両方のハイブリッド環境など、採用したいストレージシステムを自由に選択してサービスを構築できます。
ロールアウトの自動化とロールバック
Kubernetesではサービスの構成管理に、デプロイした結果の状態を記述した設定ファイルを利用します。開発者は、デプロイした結果の状態を記述したファイルを作成し、Kubernetesに反映します。そうすることで、Kubernetesは現在のサービスの状態を設定ファイルと同じ状態になるように、段階的にサービスの状態を監視しながら変更を加えます。更新に問題が生じたとき、Kubernetesは変更をロールバックします。結果の設定ファイルを反映する前の状態を記述した、設定ファイルを反映するだけでロールバックができます。そのため、確実で頻繁なデプロイが容易になります。
ビンパッキングの自動化
Kubernetesにはコンテナのリソース情報を設定した際、必要なオブジェクトをどのように配置するかを決定する機能があります。この機能により、コンテナに設定されるリソースの合計を調整し、用意したリソースの中でパフォーマンスを最大限に活用することができます。
自己修復機能
Kubernetesは、障害によってサービスの状態に変化が生じた場合でも、障害が起こる前の状態を維持するよう動作します。デプロイの際に、Kubernetesはサービスの現在の状態を設定ファイルの記述通りに維持しますが、設定ファイルの参照は設定を変更するときだけではありません。処理に失敗したコンテナを検知し、設定に該当しないコンテナを強制終了する際にも設定ファイルを参照します。
機密情報と構成管理
Kubernetesには、パスワードやSSHキーといった機密情報を保持、管理する機能があります。コンテナイメージから分離したオブジェクトで機密情報を管理し、アプリケーションの構成情報を更新します。
Kubernetesオブジェクトとは
関連記事
- クラウドでKubernetesを学ぶ――マネージドサービスで始めるKubernetes入門
人気過去連載を電子書籍化して無料ダウンロード提供する@IT eBookシリーズ。第72弾はKubernetesによるWebアプリケーションの構築、公開はどのような姿になるのか、マネージドKubernetesサービスについて知りたい人のための連載『マネージドサービスで始めるKubernetes入門』5回分をPDFとしてまとめました。 - 1000倍返しの勢いで混沌化するKubernetes/クラウドネイティブ周辺ツールは何から学べばよいのか
Kubernetesやクラウドネイティブをより便利に利用する技術やツールについて概要や使い方を凝縮して紹介していく連載。初回は、Kubernetesの現状や、多種多様なKubernetes/クラウドネイティブ周辺ツールについて。 - 安定志向のNRIが変化の激しいKubernetesを推進する理由
さまざまな顧客のシステム開発や運用に関わる中で、NRIはコンテナ技術やKubernetesに積極的に取り組んでいる。本連載の初回はNRIが抱える組織や文化の課題を整理し、Kubernetesに期待していることを紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.