Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Java屋だってOperatorが作りたい!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
RyuSA
February 16, 2022
Programming
1
600
Java屋だってOperatorが作りたい!
OCHaCafe5 #2 Kubernetesで並列分散処理 のLT登壇資料です
https://ochacafe.connpass.com/event/235859/
RyuSA
February 16, 2022
Tweet
Share
More Decks by RyuSA
See All by RyuSA
Visual Studio Codeとコンテナでいい感じのRe:View執筆環境
ryusa
1
1.6k
JavaScriptと歩くポリシーエンジン jsPolicy
ryusa
1
590
TextAlive App APIと夢見る新しいUX
ryusa
1
440
Gitlab Operatorと夢見るGitlab自動化の旅
ryusa
2
1.1k
AccessPoint Operator on Raspberry Pi
ryusa
1
1.2k
Serviceをたずねて3000行 - Kubernetesコードリーディングの旅 -
ryusa
2
900
そのAPIはセキュアですか?
ryusa
2
830
「L3以下は魔法で動いている!」と言いながらiptablesとkube-proxyを読んでみた話
ryusa
1
160
「〇〇完全に理解したったww」から始めるエンジニア生活
ryusa
2
4.5k
Other Decks in Programming
See All in Programming
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
200
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
610
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
120
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
130
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
160
20260320登壇資料
pharct
0
120
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
940
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
180
[SF Ruby Feb'26] The Silicon Heel
palkan
0
120
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
320
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.3k
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
500
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
sira's awesome portfolio website redesign presentation
elsirapls
0
200
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
310
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
77
Designing for Timeless Needs
cassininazir
0
170
Ruling the World: When Life Gets Gamed
codingconduct
0
180
Everyday Curiosity
cassininazir
0
170
My Coaching Mixtape
mlcsv
0
84
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
590
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
Transcript
- “Java” Operator SDK でお⼿軽 Operator ⼊⾨ - RyuSA Java屋だってOperatorが作りたい︕
RyuSA Financial Service Engineer Java & SpringBoot / Typescript &
React Docker / 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 Operator Kubernetes Operator Deploy
Overview – Kubernetes Operator Kubernetes Operator Watch 👀
Overview – Kubernetes Operator Kubernetes Operator Deploy
Overview – Kubernetes Operator Kubernetes Operator Found CustomResource
Overview – Kubernetes Operator Kubernetes Operator Reconcile Side Effect
Overview – Kubernetes Operator Kubernetes Operator Reconcile Side Effect This
looks like ... DDL CREATE TABLE... DML INSERT ... Application DCN (implements DatabaseChangeListener) Oracle Database
Overview – Kubernetes Operator Kubernetes Operator Reconcile Deploy Deploy Side
Effect Watch 👀
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 Boot JOSDK 実装
Greeter Watch 👀 GreeterOperator log.info(greeter.message) サンプル – Greeter Operator
CRD 実装 Greeter カスタムリソース Greeter クラス
Controller 実装 Greeter リソースが作成/変更された時 実⾏されるリコンサイル処理 Greeter リソースが削除された時 実⾏される finalize 処理
Operator 実装 Operator の設定を準備する Operatorインスタンスを起動して Operatorを起動する
Greeter Watch 👀 GreeterOperator log.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 での拡張が可能 まとめ