大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する「これから始める企業のためのコンテナ実践講座」第3回は、Kubernetesがクラウド界の「Linux」と呼ばれている理由とともに、Kubernetes内部の仕組み、機能を紹介します。
大量のコンテナ管理や負荷分散を実現する「Kubernetes」について、概要から本番活用の仕方まで解説する本連載「これから始める企業のためのコンテナ実践講座」第2回では、エンタープライズのサービス提供環境(以下、本番環境)でコンテナ技術を活用する際の課題を解決するKubernetesの概要と、3つのコンセプトを紹介しました。
大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する本連載。第2回はコンテナ技術を本番環境で活用する際の課題を解決する「Kubernetes」と3つのコンセプトを解説します。
第3回は、Kubernetesが何を実現するのかについてや、Kubernetesが「クラウド界のLinux」と呼ばれる理由とともに、Kubernetes内部の仕組み、機能を紹介します。
なぜKubernetesはクラウド界のLinuxと呼ばれているのでしょうか。その理由は、2つあります。1つ目は「Linuxのようなエコシステムとコミュニティーを持っていること」、2つ目は「Linuxのような機能を持っていること」です。まずは1つ目について見ていきましょう。
Linuxのエコシステムとは、「さまざまなベンダーがLinuxというプラットフォームを強化した結果、Linuxへの魅力が増して、Linux利用者が増え、他のベンダーもLinuxに関わっていく」というように、さまざまなベンダーがLinuxを中心に考えるようになるサイクルのことです。
Kubernetesの場合はどうでしょうか? Kubernetesの管理団体である「Cloud Native Computing Foundation」(以下、CNCF)では、Kubernetesを拡張するベンダーや、関連ツールを開発するベンダーを「The Cloud Native Interactive Landscape」としてまとめています。これを見ると多くのベンダーがKubernetesをプラットフォームとして、周辺の機能やサービスを整備していることが分かります。
これらのベンダー、サービスによりKubernetesの魅力が増した結果、Kubernetesの利用者が増えてきています。それを裏付けるように、CNCFが主催するKubernetesカンファレンス「KubeCon + CloudNativeCon」では、2016年の参加者数が1139人だったのに対し、2017年に4212人、2018年には8000人(キャンセル待ち1000人)となりました。また、Kubernetesを取り上げるメディアや書籍も増えており、今後、興味を持った企業によってKubernetesに関するさまざまなサービスが登場することは間違いないでしょう。
これらのことから、KubernetesはLinuxのようなエコシステム、コミュニティーを持っているといえます。
Kubernetesが持つ機能をLinuxと比較しながら紹介する前に、Linux(Linuxディストリビューション)が何をするのか、改めて振り返ってみましょう。Linuxはオペレーティングシステム(以下、OS)であるということは分かりますが、本当は何をしているのでしょうか。
Linux OSの根幹である「Linux カーネル」では、下記を管理します。
Linux OS全体としての「Linuxディストリビューション」では下記を管理します。
Linuxカーネルの機能は、ホスト単体での機能ですが、Kubernetesは複数のホストを束ねたクラスタで同じような機能を用意しています。ざっくり図にしたのが下記です。
それでは、Kubernetesにはどのような機能が備わっているのでしょうか? 機能について紹介する前に、Kubernetesにある大きな2つの役割「Kubernetes Master components」(以下、マスター)と「Kubernetes Node components」(以下、ノード)を紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.