14章Self Awareness(セルフアウェアネス)
アプリケーションによっては、自分自身を認識し、自分自身についての情報を必要とする場合があります。Self Awareness(セルフアウェアネス、自己認識)パターンでは、アプリケーションに対する自己認識とメタデータの注入を行うシンプルな仕組みを提供するKubernetesのDownward APIについて説明します。
14.1 問題
多くのユースケースでは、クラウドネイティブアプリケーションは他のアプリケーションに関係するアイデンティティを持たず、ステートレスで使い捨て可能です。しかし、これらのアプリケーションもアプリケーション自身、あるいは実行している環境に関する情報を持つ必要がある場合もあります。この種の情報には、Pod名、PodのIPアドレス、アプリケーションが配置されているホストのホスト名など、実行時にのみ分かるものも含まれます。また、ある種のリソースに対するリクエストや制限のようなPodレベルで定義される静的な情報もあれば、実行時にユーザに変更される可能性のあるAnnotationやLabelといった動的な情報もあります。
例えば、コンテナに対して利用可能になるリソースによっては、アプリケーションのスレッドプールのサイズをチューニングしたり、ガベージコレクションアルゴリズムやメモリアロケーションの設定を変更したい場合もあるでしょう。情報をログに残したり、中央サーバにメトリクスを送ったりする時、Pod名やホスト名を使いたい場合もあるでしょう。また、同じNamespace内にある指定したLabelのついた他のPodを見つけ、そのPodをクラスタアプリケーションに加えたいこともあるでしょう。こういったユースケースに対してKubernetesは、Downward ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access