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
Quarkus on K8s
Search
Posedio
PRO
June 05, 2023
Programming
0
10
Quarkus on K8s
Posedio
PRO
June 05, 2023
Tweet
Share
More Decks by Posedio
See All by Posedio
API First revisited - where did we take a left turn?
posedio
PRO
0
27
Solving Multi-Tenant Challenges: Apache Airflow and Cloud Composer in Action
posedio
PRO
0
16
Contract testing with Java
posedio
PRO
0
12
Flink in two nutshells
posedio
PRO
0
15
Taming the Codebase: Strategies for Refactoring Legacy Code
posedio
PRO
0
11
Access & Usage Policies and Enforcement: Challenges and Solutions
posedio
PRO
0
11
The Future of Data Sharing
posedio
PRO
0
49
Is your spring boot application in Kubernetes secure?
posedio
PRO
0
58
Zero trust architecture with Keycloak
posedio
PRO
0
150
Other Decks in Programming
See All in Programming
イベント駆動で成長して委員会
happymana
1
340
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
7
1.8k
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
310
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
370
受け取る人から提供する人になるということ
little_rubyist
0
260
Amazon Qを使ってIaCを触ろう!
maruto
0
420
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
130
RubyLSPのマルチバイト文字対応
notfounds
0
120
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
6
1.7k
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
1.2k
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
5
3.1k
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
9
1.5k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Six Lessons from altMBA
skipperchong
27
3.5k
Designing Experiences People Love
moore
138
23k
Documentation Writing (for coders)
carmenintech
65
4.4k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
The World Runs on Bad Software
bkeepers
PRO
65
11k
GraphQLとの向き合い方2022年版
quramy
43
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
4 Signs Your Business is Dying
shpigford
180
21k
Why Our Code Smells
bkeepers
PRO
334
57k
Transcript
None
2 TBT
3 POSEDIO GMBH Company founded: • 2020 Locations: • Vienna
• Vorarlberg Co-workers: • 17 Cloud experts
4 SERVICES Cloud Platform Cloud-Native Consulting Data Platform Application Modernization
Multicloud FinOps Automated self- service Platform Data Governance Big Data Data Accessibility Security and Governance Scalability & Cost optimization DevOps Security Review Cloud readiness Review Architecture Review
AGENDA 1. INTRODUCTION QUARKUS 2. INTEGRATION WITH KUBERNETES
INTRODUCTION QUARKUS 1
7 INTRODUCTION QUARKUS Homepage: https://www.quarkus.com
8 INTRODUCTION QUARKUS • Open-source framework for developing cloud-native Java
applications • Improve performance of Java applications • Enhance the productivity of Java developers What is Quarkus?
9 INTRODUCTION QUARKUS • Low startup times, low memory usage
• AOT (ahead-of-time) compilation Improve performance of Java applications
10 INTRODUCTION QUARKUS • Builds on top of proven standards:
• Eclipse MicroProfile • Vert.x • JAX-RS Everything new?
11 INTRODUCTION QUARKUS • Wide range of features and extensions
• Reactive programming • Microservice support • REST messaging frameworks • Database access • Integration with Kubernetes • https://code.quarkus.io/ Enhance the productivity of Java developers
INTEGRATION WITH KUBERNETES 2
13 INTEGRATION WITH KUBERNETES Example with 2 Microservices
14 INTEGRATION WITH KUBERNETES • Open-source platform for • automating,
• deploying, • scaling, • and managing containerized applications. What is Kubernetes
15 INTEGRATION WITH KUBERNETES • Configuration • src/main/application.properties • ConfigMap
• Enverionment variables • Staging • With %[stage].[property-name] Quarkus basics
16 INTEGRATION WITH KUBERNETES • Configuration • src/main/application.properties • ConfigMap
• Enverionment variables • Staging • With %[stage].[property-name] Quarkus basics
17 INTEGRATION WITH KUBERNETES • One-step Kubernetes deployment • Direct
Secret and ConfigMap access • Health endpoints • OpenTracing • OpenMetrics • Kubernetes Client Api • …. Quarkus Kubernetes Features
18 INTEGRATION WITH KUBERNETES <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-kubernetes</artifactId> </dependency> <dependency> <groupId>io.quarkus</groupId>
<artifactId>quarkus-container-image-docker</artifactId> </dependency> One-step Kubernetes deployment
19 INTEGRATION WITH KUBERNETES • Generate deployment YAML for Kubernetes
Evn. • Service Account, RoleBinding,… <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-kubernetes-minikube</artifactId> </dependency> One-step Kubernetes deployment
20 INTEGRATION WITH KUBERNETES • Read properties from a ConfigMap
/ Secret • Override application.properties <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-kubernetes-config</artifactId> </dependency> Direct Secret and ConfigMap access
21 INTEGRATION WITH KUBERNETES • Expose application availability and status
• Custom application health checks • Built-in health checks • Kafka, JDBC Datasources, Elasticsearch, … <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-health</artifactId> </dependency> Health Endpoints
22 INTEGRATION WITH KUBERNETES • Distributed Tracing across microservices OpenTracing
Support
23 CHALLENGE DISTRIBUTED TRACING Example Architecture
24 CHALLENGE DISTRIBUTED TRACING Example Architecture
25 SOLUTION Architecture
26 SUMMARY • Built for developing cloud-native applications • Improves
development performance • Improves memory usage and speed Quarkus @ K8S
THANK YOU! POSEDIO GMBH +43 660 9154419
[email protected]
Weyringergasse 1-3,
1040 Wien, Millenium Park 4, 6980 Lustenau www.posedio.com