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
RyuSA
February 16, 2022
Programming
610
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Java屋だってOperatorが作りたい!
OCHaCafe5 #2 Kubernetesで並列分散処理 のLT登壇資料です
https://ochacafe.connpass.com/event/235859/
RyuSA
February 16, 2022
More Decks by RyuSA
See All by RyuSA
Visual Studio Codeとコンテナでいい感じのRe:View執筆環境
ryusa
1
1.6k
JavaScriptと歩くポリシーエンジン jsPolicy
ryusa
1
610
TextAlive App APIと夢見る新しいUX
ryusa
1
460
Gitlab Operatorと夢見るGitlab自動化の旅
ryusa
2
1.1k
AccessPoint Operator on Raspberry Pi
ryusa
1
1.3k
Serviceをたずねて3000行 - Kubernetesコードリーディングの旅 -
ryusa
2
930
そのAPIはセキュアですか?
ryusa
2
850
「L3以下は魔法で動いている!」と言いながらiptablesとkube-proxyを読んでみた話
ryusa
1
170
「〇〇完全に理解したったww」から始めるエンジニア生活
ryusa
2
4.6k
Other Decks in Programming
See All in Programming
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
570
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.3k
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
210
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
550
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
270
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.3k
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
710
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
410
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.6k
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
6.8k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Statistics for Hackers
jakevdp
799
230k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
The Language of Interfaces
destraynor
162
27k
Building the Perfect Custom Keyboard
takai
2
800
From π to Pie charts
rasagy
0
210
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Bash Introduction
62gerente
615
220k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
460
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 での拡張が可能 まとめ