「Excel手順書にさようなら」――運用管理者の不安を解消する「Kubernetes」のコンセプト:これから始める企業のためのコンテナ実践講座(2)(4/4 ページ)
大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する本連載。第2回はコンテナ技術を本番環境で活用する際の課題を解決する「Kubernetes」と3つのコンセプトを解説します。
3.「自己修復機能」
3つ目のコンセプトは、自己修復機能です。自己修復機能では、マニフェストファイルに記述された「システムのあるべき姿」と、現在のKubernetesのコンテナ環境の状態が同じ状態かどうかを監視します。差分が発生した際、既存の環境の状態を更新するのではなく、新しい状態の環境を新しく用意して「システムのあるべき姿」に近づけます。
例えばマニフェストファイルで「サーバを3台稼働させる」と宣言すれば、Kubernetesは「サーバが3台稼働している状態」を維持するように動作するわけです。
この「システムのあるべき姿」と「現在の環境の状態」の差分を常時監視することを「Reconciliation Loop」と呼びます。
常にサーバの設定と本番環境の状況が同じ状態かどうか監視するのは、コンピュータ的には負荷の高い動作です。従来のサーバ運用のように、設定を変えたときだけ接続し、操作する方が、無駄のない挙動になります。しかし、負荷が高かったとしても、設定と現在の環境の状態の整合性を保ち続けることで、マニフェストファイルでの設定が常に「正」であり、サーバの状態と同一なことが保証される仕組みになっています。
さて、Kubernetesの3つのコンセプトを読んで、運用管理者の方は「マニフェストファイルの設定を間違えて本番環境に適用した結果、サービスやサーバが動作しなくなったら大変だ」と想像するかもしれません。
実は確かにその通りです。しかし、本番環境にマニフェストファイルの設定を適用させる前に、その設定が正しいかどうか、別のコンテナ環境でテストすればよいのです。もし万が一間違った設定を本番環境に適用したとしても、コンテナが動かないような設定の場合には、Kubernetesが自動で停止させる機能を用意しています。
まとめ
これまでの運用方法と比較して、Kubernetesを用いることで、手作業が大幅に削減され、誰でも同じように環境を構築、修正できるようになりました。しかし、このような便利な機能を使えるにもかかわらず、これまでのオンプレミスサーバと同じように手順書を作り、逐次的な作業をして差分的に運用していたらどうでしょうか? それではせっかく便利な新しいツールに変更したのに、運用はそのままで楽になっておらず、これまでの課題が解決されないまま自動化も省力化もされないことになってしまいます。
Kubernetesは、これまでの運用を一変させ、便利に安全に利用できる管理ツールです。ぜひ、このコンセプトを把握した上でKubernetesを使いこなし、従来の手作業でサーバ設定を変更するような運用をなくしていきましょう。
次回は、Kubernetesのアーキテクチャと主要機能の詳細、また、Kubernetesが「分散システムとしてのLinux」と呼ばれている理由について解説します。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「コンテナって何? どう使える?」――ソフトウェア開発の課題を解決するコンテナ技術
「コンテナ技術」やコンテナ実行環境の「Docker」、大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する本連載。第1回は「コンテナ技術」や「Docker」が、現代のソフトウェア開発に求められるようになった理由を解説します。 - Kubernetes、コンテナ技術を活用した開発アジリティー向上にインフラアーキテクトはどう貢献したのか
Kubernetes、コンテナ技術を活用したCI/CD基盤におけるサービス開発について、リクルートの事例を基に解説する連載。初回は、インフラアーキテクトの視点から技術選定の考え方について解説。 - 経営層、管理層がセキュリティ人材に装備を与え、経験値をためさせるためにすべきこと
40〜50代の経営者や管理職に向けて、RPGを題材にセキュリティについて理解を深めてもらう連載。初回は「レベルアップ」編として、セキュリティ人材が装備を整える難しさ、そして人材育成の難しさについて、RPGスタート時の主人公の育成に例えてお話しする。