Operator (k8s)
#wip
GPT-4.icon
Operatorは「Custom Resource (k8s)」と「Custom Controller (k8s)」を組み合わせ、特定のアプリケーションやサービスをKubernetesで自動管理する仕組みです。
Custom Resource Definition (CRD)で定義したリソースのdesired stateをControllerが監視・制御することで、複雑なアプリケーション運用を自動化します。
特徴
運用知識(Operational Knowledge)をコード化し、標準化・自動化を実現。
デプロイ、スケーリング、アップグレード、バックアップなど複雑なタスクを簡略化。
例(MySQL Operator)
「MySQLCluster」というCustom Resourceを定義。
MySQLClusterを作成すると、自動的に適切なPodやServiceが生成され、構成管理・フェイルオーバー・バックアップが行われる。
代表的なOperatorフレームワーク
Operator SDK
Operator SDK(Goベース)
Kubebuilder
Kubebuilder(Goベース)
kopf
kopf(Pythonベース)
例?
Istio
Knative
Vittes
MySQL のクラスタサービスを提供するコンポーネント
Strimzi
Apache Kafka のクラスタを管理するコンポーネント
Prometheus Operator
Prometheus の運用を管理するコンポーネント