Kubernetes??な人がKubernetesの登場人物を整理してみる
はじめに
株式会社SHIFT 自動化エンジニアの長岡です。
本稿では、Kubernetes??な私がKubernetesを理解するうえで重要となってくる、Kubernetesの登場人物や役割等を整理してみたのでご紹介したいと思います。
Kubernetesとは
Kubernetesとは、コンテナ化したアプリケーションのオーケストレーションツールです。オーケストレーションツールというのは、ソフトウェアやシステムのビルド、デプロイ、運用、管理といった一連の作業を統括してくれるツールのことで、Kubernetesはコンテナ化されたアプリケーションのビルド、デプロイ、運用、管理等を統括をしてくれるツールになります。
略称はk8sで、kとsの間に8文字あることからk8sと略されたりします。
元々Googleが開発していましたが、Cloud Native Computing Foundation(以下CNCF)に寄贈されオープンとなったことで急速に普及され始めました(今はCNCFで管理されています)。
Kubernetes導入のメリット
1. コンテナ管理コストの削減
Kubernetesはコンテナ化されたアプリケーションの統括が役割となりますが、そういったアプリケーションは複数の物理サーバ、各サーバの中で複数のコンテナ、といった形で構成されています。これを人手で1つ1つ管理するとなるとそれ相応のコストがかかりますし、物理サーバやコンテナの数が増えれば増えるほど更に管理コストが増大します。こういったコストを削減するためにもKubernetes導入は大きなメリットになります。
2. 高可用性の実現
Kubernetesにはオートスケーリングの機能もあるため、あるコンテナで障害発生しても自動で再起動させたり他のノードでコンテナを起動させそちらに処理を任せるといったファイルオーバー的なことも可能です。
Kubernetesのディストリビューション
Kubernetesにはいくつかのディストリビューション(種類のようなもの)が存在しており、これらはKubernetesの仕様に準拠する形でCNCF以外の様々なソフトウェアベンダーから提供されています。以下はCNCFの公式にあるKubernetesのディストリビューション一覧です。
※CNCF公式より一部抜粋
ちなみに、弊社SHIFTのグループ会社「株式会社リアルグローブ・オートメーティッド」のエンジニアの方が、Kubernetesディストリビューションの一つであるOpenShiftの入門書「OpenShift徹底入門」の執筆に携わっておりますので、気になる方は是非そちらの方もお手にとっていただけたらと思います。
Kubernetesの登場人物と役割
本題のKubernetesの登場人物と役割についてです。以下はKubernetesの基本構成図です、それぞれ図の下に役割をまとめてみました。
上記は整理するためにワーカーノード1つで表現していますが、実際に本番で稼働しているシステムは以下のような形で複数ワーカーノードで構成されたりしています。
Kubernetesのリソースについて
Kubernetesにはリソースという概念があり、主なリソースとしてはPod、Service、Deployment、ReplicaSetがあります。
最後に
ここまでKubernetesについてざっと紹介して参りました。次の記事では、実際にKubernetesを操作しながらもう少し具体的に見ていきたいと思います。
以上です。
__________________________________
Kubernetes関連記事|
お問合せはお気軽に
https://service.shiftinc.jp/contact/
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/