28章Operator(オペレータ)
Operator(オペレータ)は、アプリケーションに関する運用上の知識を、アルゴリズム化され、自動化された仕組みにカプセル化するため、CRD(CustomResourceDefinition)を使うコントローラの一種です。Operatorパターンを使うことで、前の章で説明したControllerパターンを、より柔軟性高く、より表現豊かに拡張することが可能になります。
28.1 問題
「27章 Controller(コントローラ)」で、シンプルかつ疎結合な方法でKubernetesプラットフォームを拡張する方法を学びました。しかしより高度なユースケースでは、ただのカスタムコントローラではKubernetesに元々備わったリソースしか監視および管理ができないので、その力は十分ではありません。さらに、別のドメインオブジェクトを必要とするような新しいコンセプトをKubernetesプラットフォームに追加したい場合もあるでしょう。例えば、監視ソリューションとしてPrometheusを選び、それをしっかりと定義された方法でKubernetesの監視の仕組みとして導入したい場合です。他のKubernetesリソースを定義するのと似たような方法で、監視設定やデプロイの詳細を記述したPrometheusのリソースがあったら素晴らしいと思いませんか。さらには、監視したいサービスに関するリソース(例えばLabelセレクタを使うなど)もあったらいいと思いませんか。
この状況こそが、CustomResourceDefinition(CRD)リソースがとても役立つユースケースの1つです。CRDを使うと、Kubernetesクラスタにカスタムリソースを追加し、それをネイティブなリソースであるかのように使うことで、Kubernetes ...
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