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
HDC24: A Life without VMs: High-Scale Kubernete...
Search
Martin Helmich
August 30, 2024
Technology
73
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HDC24: A Life without VMs: High-Scale Kubernetes on Bare Metal
Martin Helmich
August 30, 2024
More Decks by Martin Helmich
See All by Martin Helmich
NEOSCon26: AI is eating your CMS
martinhelmich
0
26
CloudFest 2026: From Firefighting to Sleeping At Night
martinhelmich
0
24
WebCamp Venlo 26: AI is eating your CMS
martinhelmich
0
28
T3CON25: AI is eating your servers... and your CMS
martinhelmich
0
38
T3CB25: MCP – The Duct Tape of the AI era?
martinhelmich
0
78
T3CL25: Cloud-Native TYPO3
martinhelmich
0
68
T3DD25: How to annoy your Hosting Provider
martinhelmich
0
140
NEOSCon25: How to annoy your Hosting Provider
martinhelmich
0
36
T3CON24: Crafting Tomorrow's Tech Talent
martinhelmich
0
110
Other Decks in Technology
See All in Technology
アカウントが増えてからでは遅い? ~ マルチアカウント統制の勘所 ~
kenichinakamura
0
230
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
810
LLM/Agent評価:トップ営業の発言を「正解」にする 〜暗黙的正解による評価を営業資産に変える〜
takkuhiro
1
220
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
240
AI Driven AI Governance
pict3
0
410
ADDF - ループエンジニアリングするフレームワークを作ったら/I Didn't Set Out to Build Loop Engineering, But ADDF Did
fruitriin
0
120
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3.2k
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.2k
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
230
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
300
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
2
280
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
850
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
Evolving SEO for Evolving Search Engines
ryanjones
0
240
Tell your own story through comics
letsgokoyo
1
990
KATA
mclloyd
PRO
35
15k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Odyssey Design
rkendrick25
PRO
2
730
The Spectacular Lies of Maps
axbom
PRO
1
850
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Transcript
VIKTOR ABRAMS @mittwald MARTIN HELMICH @mittwald A LIFE WITHOUT VMs
HIGH - SCALE KUBERNETES ON BARE METAL HELLMANN DEVELOPER & MAKER CONFERENCE August 30th, 2024
https://web.archive.org/web/20040829084706/http://www.espelkamper-nachrichten.de/ MY FIRST ( PAID ) WEBSITE
HOSTING BACK THEN
HOSTING BACK THEN
APACHE PHP MYSQL HOSTING BACK THEN
APACHE PHP MYSQL ... AND NOW OPENSEARCH KEYCLOAK MOBILE APP
...OR NODE.JS DOCKER PWA NGINX 💥 ...OR P CDN HOSTING BACK THEN BOOP VARNISH
None
MITTWALD CLOUD PLATFORM ARCHITECTURAL GOALS FLEXIBILITY RESOURCE EFFICIENCY ( INTERNAL
) EASE OF USE *) apart from obvious ones, like security, reliability and performance *
MITTWALD CLOUD PLATFORM ARCHITECTURAL GOALS FLEXIBILITY STANDARDS CONFORMANCE KUBERNETES/COE CONTAINERIZED
CUSTOMIZABLE OCI IMAGES QUALITY GOAL SOLUTION STRATEGY RESOURCE EFFICIENCY ELASTICITY OPTIMIZED SCHEDULING ( INTERNAL ) EASE OF USE DECLARATIVE APIS KUBERNETES OPERATORS
NODE BASIC KUBERNETES PRINCIPLES NODE NODE CLUSTER YEET USER POD
POD POD POD ( SLIGHTLY SIMPLIFIED ) POD
martin @ local $ mw app install typo3 -q --version=12.4.17
--install-mode composer [...] martin @ local $ kubectl get pods --all-namespaces \ --field-selector spec.nodeName=shoot--chp-prod--gestringen-pm-sps-3669c938-z1-797d7-gtfmz NAMESPACE NAME READY STATUS RESTARTS AGE kube-system node-local-dns-69btw 1/1 Running 0 36d kube-system node-problem-detector-2bq2z 1/1 Running 0 36d kube-system openstack-manila-csi-nodeplugin-sk8sm 2/2 Running 0 36d monitoring kube-prometheus-stack-prometheus-node-exporter-dnq9l 1/1 Running 0 36d monitoring loki-stack-promtail-mntw2 1/1 Running 0 36d pg-s-piryq0 mysql-default-80-low-latency-knlw2-0 1/1 Running 0 12s pg-s-piryq0 p-elfmx0-64db467d4b-qzmdv 2/2 Running 0 2d20h pg-s-piryq0 p-elfmx0-l2qzd-b79b7fdf6-qxjl4 2/2 Running 0 12s pg-s-piryq0 p-elfmx0-logrotation-28698480-47mvh 0/1 Completed 0 23h
DEPLOYMENT REPLICASET POD STATEFULSET DAEMONSET SERVICE INGRESS INGRESS CLASS PERSISTENT
VOLUME PERSISTENT VOLUMECLAIM STORAGE CLASS JOB CRON JOB CERTIFICATE SECRET CONFIG MAP NODE
None
ABSTRACTION
DEPLOYMENT REPLICASET POD STATEFULSET DAEMONSET SERVICE INGRESS INGRESS PERSISTENT VOLUME
PERSISTENT VOLUMECLAIM STORAGE CLASS JOB CRON JOB CERTIFICATE SECRET CONFIG MAP NODE KUBERNTES CORE CONCEPTS PROJECT CUSTOMER PROJECT GROUP APP DATABASE DOMAIN HOSTING DOMAIN MODEL
apiVersion: apphosting.mittwald.cloud/v1 kind: App metadata: name: a-XXXXX namespace: s-YYYYY spec:
app: typo3 version: 12.4.17 project: name: p-ZZZZZ requirements: - name: php version: ^8.3 - name: composer version: ^2 installPath: /my-typo3-site
CUSTOM RESOURCE CONTROLLER KUBERNETES API USER create / update watch
notify reconcile desired state control loop
None
PRODUCT SPECIFIC K8S OPERATORS K8S CORE COMPONENTS
MACRO ARCHITECTURE PRODUCT SPECIFIC MICROSERVICES PRODUCT SPECIFIC K8S OPERATORS K8S
CORE COMPONENTS IaaS CLOUD DATA CENTER
ORGANIZATIONAL STRUCTURE PRODUCT SPECIFIC MICROSERVICES PRODUCT SPECIFIC K8S OPERATORS K8S
CORE COMPONENTS IaaS CLOUD DATA CENTER PRODUCT DEV TEAMS CLOUD PLATFORM TEAM IaaS + NETWORK TEAM DATA CENTER OPERATIONS
UNDER THE HOOD
WHAT IS YOUR PRODUCT? AND WHAT DO YOU NEED TO
RUN IT?
m³ ( Pronunciation: "m-cubed") NATIVE KUBERNETES WEBHOSTING
m³ ( Pronunciation: "m-cubed") VISIBILITY RESOURCE MANAGEMENT BARE METAL PROVISIONING
VIRTUAL CLUSTERS ROUTE REFLECTION MAIN GOALS
/etc /mnt /srv httpd php-fpm sshd VISIBILITY NAMESPACES /home python
/mnt /var httpd /mnt /etc /srv httpd php-fpm MySQL 1. Processes 2. File system 3. Network
RESOURCE MANAGEMENT CONTROL GROUPS cpu1 cpu2 cpu3 httpd node php-fpm
1. Memory 2. Compute 3. I/O
BARE METAL PROVISIONING control- plane worker worker worker Rack 1
control - plane worker worker worker Rack 2 control - plane worker worker Rack 3 netbox Adapter dhcp bootp cloud- init CORE BGP EFI RAID EFI RAID LVM root Volume 1..n BGP worker cloud- image
VIRTUAL CLUSTERS systemd cri-o kubelet ... systemd cri-o kubelet ...
systemd cri-o kubelet ... systemd cri-o kubelet ... Control-Plane Worker 1 Worker 2 Worker N kluster.m3.services Cluster Workergroup Cluster-Operator
ROUTE REFLECTION vnode 1 vnode 2 vnode 3 vnode 5
vnode 4 SWITCH 1 SWITCH 2 frr frr NODE 1 NODE 2
MAIN GOALS _ IP DUAL STACK _ PERFORMANCE FIRST _
MANAGEABLE UNITS (no micromanagement) _ COMPLETE INVENTORY OVERVIEW (datacenter infrastructure management; DCIM ) _ COMPLEXITY REDUCTION i.e.: less abstraction (compute, network, ...)
https://github.com/mittwald https://github.com/martin-helmich https://www.mittwald.de https://www.linkedin.com/company/mittwald https://www.linkedin.com/in/martinhelmich