OCHaCafe5 #2 Kubernetesで並列分散処理 のLT登壇資料です https://ochacafe.connpass.com/event/235859/
- “Java” Operator SDK でお⼿軽 Operator ⼊⾨ -RyuSAJava屋だってOperatorが作りたい︕
View Slide
RyuSAFinancial Service EngineerJava & SpringBoot / Typescript & ReactDocker / Kubernetes: RyuSA: ryusa_eng
OCHaCafe Session5 #1 のおさらいhttps://speakerdeck.com/oracle4engineer/kubernetes-operator-introduction
運⽤やワークロードの⾃動化を⽬的としたKubernetesの拡張機能• 俗に⾔う「作業⼿順書」をコードに落とし込んで⾃動化するためのフレームワーク的なもの• たとえば、データベースのバックアップ作業やミドルウェアの復旧などkubebuilder / operator-sdk• Kubernetes の Operator を Go⾔語 で実装できるフレームワーク• 統合されたりラッパーになっていたりするが、できることは⼤体⼀緒• Operatorの内部処理であるControllerを実装し、CRDを⽣成できますKubernetes Operator とは
Overview – Kubernetes OperatorKubernetes OperatorDeploy
Overview – Kubernetes OperatorKubernetes OperatorWatch 👀
Overview – Kubernetes OperatorKubernetes OperatorFound CustomResource
Overview – Kubernetes OperatorKubernetes OperatorReconcileSide Effect
Overview – Kubernetes OperatorKubernetes OperatorReconcileSide EffectThis looks like ...DDLCREATE TABLE...DMLINSERT ...ApplicationDCN (implements DatabaseChangeListener)Oracle Database
Overview – Kubernetes OperatorKubernetes OperatorReconcileDeployDeploySide EffectWatch 👀
Build Kubernetes Operators in Java Without Hassleお⼿軽に Kubernetes Operator を Java で作ろうぜ︕
• Kubernetes Operator の⾔葉を Java クラスで実装する• Custom Resource Definition• = POJO (Plain Old Java Object)• Controller• = interface Reconciler を実装• Integration with ...• Quarkus• CDI support• container build with JIB• providing some dev tools• Spring BootJOSDK 実装
GreeterWatch 👀GreeterOperatorlog.info(greeter.message)サンプル – Greeter Operator
CRD 実装Greeter カスタムリソースGreeter クラス
Controller 実装Greeter リソースが作成/変更された時実⾏されるリコンサイル処理Greeter リソースが削除された時実⾏される finalize 処理
Operator 実装Operator の設定を準備するOperatorインスタンスを起動してOperatorを起動する
GreeterWatch 👀GreeterOperatorlog.info(“Hello World”)helloworld全体の挙動
Kubernetes Operator とは• CRD と CR を使って運⽤の⾃動化などを実装できる Kubernetes の拡張機能• kubebuilder や operator-sdk といったツールを使って実装することが多い(Go⾔語)Java Operator SDK• Kubernetes の Operator を Java で実装できるフレームワーク• Java の Kubernetes Client をベースに、キャッシュやリキューの機能が追加されている• Quarkus/Spring Boot での拡張が可能まとめ