Kubernetesとは?
コンテナの展開・スケーリング・管理を自動化するオーケストレーションプラットフォーム。Googleが開発しOSSで公開
詳細解説
Kubernetes(K8s)は、Googleが社内の大規模コンテナ管理システム「Borg」の知見をもとに開発し2014年にOSS公開したコンテナオーケストレーションプラットフォームです。現在はCNCF(Cloud Native Computing Foundation)が管理しており、クラウドネイティブ時代のデファクトスタンダードとなっています。Kubernetesの主要機能は自動デプロイ・ローリングアップデート(無停止で新バージョンへ更新)・オートスケーリング(負荷に応じてコンテナ数を自動増減)・自己修復(障害コンテナを自動再起動・置き換え)・ロードバランシング・設定管理(ConfigMap・Secret)です。Kubernetesの主要概念はPod(最小デプロイ単位、1〜複数コンテナの集合)・Node(Podが動作するサーバー)・Cluster(NodeとControlPlaneの集合)・Deployment(Podの宣言的管理)・Service(Podへの安定したネットワークアクセス提供)・Namespace(論理的な分離)です。クラウドプロバイダーはマネージドKubernetesサービス(AWS EKS・GKE・Azure AKS)を提供し、インフラ管理の負担を大幅に軽減しています。マイクロサービスアーキテクチャとの相性が非常に良く、多数のマイクロサービスコンテナを効率的に管理する基盤として広く使われます。ITパスポート試験では「Kubernetesの役割」「DockerとKubernetesの関係」「コンテナオーケストレーションの概念」が出題されます。
ITパスポートでの出題ポイント
- 1コンテナのデプロイ・スケーリング・自己修復を自動化するオーケストレーションツール
- 2Pod(最小単位)・Node・Clusterの階層構造で構成
- 3AWS EKS・GKE・AKSなどマネージドサービスで運用負担を軽減
- 4マイクロサービスの多数コンテナを効率管理する基盤