Kubernetesが持つ6つの機能・特長


クラフ:「Kubernetesは、コンテナ運用の課題を解決する機能や特長を備えているんだ」


サトル:「具体的には、どんな機能や特長があるの?」

■Kubernetesとは?

Kubernetesの機能の一部分として、以下の機能を紹介するよ。

セルフヒーリング(自己回復機能) スケジューリング・負荷分散
オートスケール ローリングアップデート
ロールバック・ロールアウト 永続ストレージ利用

ディア:「こんなにあるのに、これが一部分なんだ!」


クラフ:「1つずつ紹介していくよ」


セルフヒーリング(自己回復機能)

万が一、Podやノードに障害が起きてマニュフェストに記述された望ましい状態から逸脱した場合、Kubernetesではマニュフェストの状態まで自己修復する機能を備えているんだ。

Kubernetesの機能「セルフヒーリング」(自己修復)

Kubernetes Nodeの状態を監視しており望ましい状態”から逸脱したら自己修復

スケジューリング・負荷分散

コンテナをノードに配置する際、どのノードに配置するのが最適かをマニュフェストに基づいて自動的に判断し、スケジューリング(配置)する機能を備えているよ。また、ディスク容量が多いコンテナを別の領域に配置する制御も可能なんだ。

Kubernetesの機能「スケジューリング・負荷分散」

最適なKubernetes Nodeに自動でスケジューリング(配置)

オートスケール

各ノードのリソースをモニタリングして、必要に応じてPodやノードを増減できる機能だよ。閑散期には最低限の数に抑えたり、CPUの使用率でPodを増やしたり、上限に達したらノードを増やしたりできるんだ。クラウド環境では繁忙期や閑散期などで柔軟にリソースを変更してコスト効率を高めることにも役立てられるよ。

Kubernetesの機能「オートスケール」

リソースをモニタリングし、必要に応じてPodやノードを増減

ローリングアップデート

アプリを新バージョンにアップデートしたい場合、いきなりすべてを旧バージョンから新しいものに置き換えるのではなく、1つずつ順々にアプリを切り替えていくことでダウンタイムなしでアップデートすることが可能になるよ。

Kubernetesの機能「ローリングアップデート」

ダウンタイム無しで、アプリをローリングアップデート

ロールバック・ロールアウト

ローリングアップデートした後、万が一アプリに問題があったときには、前バージョンに戻す(ロールバック)する機能も備えているんだよ。

Kubernetesの機能「ロールバック」

アプリに問題があったときに前のバージョンに、ロールバック

永続ストレージ利用

以前も解説したけれど、コンテナはアプリとアプリのプロセスのみを格納するため、データを永続的に保存できないんだ。だから、コンテナでは通常はPodを再作成すると、データがない状態になってしまう。そうしたコンテナの課題をKubernetesでは解決しているんだ。具体的には、Podを再作成する場合、再作成前のPodで使用していた永続ボリュームをマウントすることで、データを継続して利用することも可能なんだ。

Kubernetesの機能「永続ストレージ利用」

コンテナに“永続的”にデータは保存できない。
データを保存するには別でストレージシステムを用意してマウントする

ディア:「なるほど。Kubernetesさえあれば、油断大敵なんて忘れてもいいんだね!」


クラフ:「そんなことはないよ。Kubernetesにも使用時の課題はあるんだよ」


サトル、ディア:「(ずっこける2人)」

ネットワールドのコンテナ・Kubernetes関連製品やソリューション