9章Daemon Service(デーモンサービス)
Daemon Service(デーモンサービス)パターンを使うと、目的のノードで優先度の高いインフラにフォーカスしたPodを配置して実行できます。この仕組みは、Kubernetesのプラットフォームの能力を拡張するため、主に管理者によってノードに特有のPodを動かすために使われます。
9.1 問題
ソフトウェアシステムにおけるデーモンという考え方は、さまざまなレベルで存在しています。OSレベルでのデーモンとはバックグラウンドプロセスとして長期にわたって動き、自己修復できるコンピュータプログラムのことです。Unixでのデーモンは、httpd、named、sshdなどのようにdで終わる名前になっています。別のOSではそれにあたる語としてサービス(service)、開始タスク(started tasks)、ゴーストジョブ(ghost jobs)などが使われています。
これらのプログラムが何と呼ばれるかに関わらず共通した特徴は、プロセスとして動作し、モニタ、キーボード、マウスなどと通信することはなく、システム起動時に立ち上がることです。同じような考え方はアプリケーションレベルにもあります。例えばJava仮想マシンでのデーモンスレッドは、バックグラウンドで動作し、ユーザスレッドをサポートするサービスを提供します。これらのデーモンスレッドは優先度が低く、アプリケーションの動作に影響することなくバックグラウンドで動作し、ガベージコレクションや終了処理などのタスクを実行します。
Kubernetesにおける同様の考え方がDaemonSetです。Kubernetesは複数のノードにまたがる分散プラットフォームであり、その主なゴールはアプリケーションPodの管理であることを前提として、DaemonSetはクラスタノードで動作するPodとして表現され、クラスタの他の部分に対するバックグラウンド機能を提供します。 ...
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