Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
HDC24: A Life without VMs: High-Scale Kubernete...
Search
Martin Helmich
August 30, 2024
Technology
88
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
Contao Summit 26: AI is eating your CMS
martinhelmich
0
30
DrupalCon26: From Firefighting to Sleeping at Night
martinhelmich
0
12
T3DD26: From RAGs to Riches
martinhelmich
0
180
NEOSCon26: AI is eating your CMS
martinhelmich
0
77
CloudFest 2026: From Firefighting to Sleeping At Night
martinhelmich
0
45
WebCamp Venlo 26: AI is eating your CMS
martinhelmich
0
43
T3CON25: AI is eating your servers... and your CMS
martinhelmich
0
63
T3CB25: MCP – The Duct Tape of the AI era?
martinhelmich
0
100
T3CL25: Cloud-Native TYPO3
martinhelmich
0
94
Other Decks in Technology
See All in Technology
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
120
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
190
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
210
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
220
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
140
React改造してみた
tsukina_7mochi
0
150
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
200
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
330
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
210
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
200
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
250
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
330
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
My Coaching Mixtape
mlcsv
0
360
How to Talk to Developers About Accessibility
jct
2
590
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Prompt Engineering for Job Search
mfonobong
0
530
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Leo the Paperboy
mayatellez
10
2.4k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
610
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