Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java屋だってOperatorが作りたい!

RyuSA
February 16, 2022

 Java屋だってOperatorが作りたい!

OCHaCafe5 #2 Kubernetesで並列分散処理 のLT登壇資料です
https://ochacafe.connpass.com/event/235859/

RyuSA

February 16, 2022
Tweet

More Decks by RyuSA

Other Decks in Programming

Transcript

  1. RyuSA Financial Service Engineer Java & SpringBoot / Typescript &

    React Docker / Kubernetes : RyuSA : ryusa_eng
  2. 運⽤やワークロードの⾃動化を⽬的としたKubernetesの拡張機能 • 俗に⾔う「作業⼿順書」をコードに落とし込んで⾃動化するためのフレームワーク的なもの • たとえば、データベースのバックアップ作業やミドルウェアの復旧など kubebuilder / operator-sdk • Kubernetes

    の Operator を Go⾔語 で実装できるフレームワーク • 統合されたりラッパーになっていたりするが、できることは⼤体⼀緒 • Operatorの内部処理であるControllerを実装し、CRDを⽣成できます Kubernetes Operator とは
  3. Overview – Kubernetes Operator Kubernetes Operator Reconcile Side Effect This

    looks like ... DDL CREATE TABLE... DML INSERT ... Application DCN (implements DatabaseChangeListener) Oracle Database
  4. • 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 Boot JOSDK 実装
  5. Kubernetes Operator とは • CRD と CR を使って運⽤の⾃動化などを実装できる Kubernetes の拡張機能

    • kubebuilder や operator-sdk といったツールを使って実装することが多い(Go⾔語) Java Operator SDK • Kubernetes の Operator を Java で実装できるフレームワーク • Java の Kubernetes Client をベースに、キャッシュやリキューの機能が追加されている • Quarkus/Spring Boot での拡張が可能 まとめ