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
From source to Kubernetes in 30 minutes
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Bastian Hofmann
October 21, 2019
Programming
0
180
From source to Kubernetes in 30 minutes
Bastian Hofmann
October 21, 2019
Tweet
Share
More Decks by Bastian Hofmann
See All by Bastian Hofmann
Monitoring in Kubernetes with Prometheus and Grafana
bastianhofmann
0
340
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
130
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
150
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
210
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
270
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
180
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
250
Dive-In-Workshop: Kubernetes
bastianhofmann
0
440
Other Decks in Programming
See All in Programming
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
110
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
520
CSC307 Lecture 14
javiergs
PRO
0
450
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
130
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.4k
CSC307 Lecture 11
javiergs
PRO
0
590
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
21
11k
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
160
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
160
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
380
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
120
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
380
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
470
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
290
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Unsuck your backbone
ammeep
672
58k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
810
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
600
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Designing for humans not robots
tammielis
254
26k
The Cult of Friendly URLs
andyhume
79
6.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Transcript
@BastianHofmann From source to Kubernetes In 30 Minutes Bastian Hofmann
[email protected]
CI/CD
None
None
None
Container orchestration platform
Deploy, run and scale your services in isolated containers
Your application is bundled in an image
The image contains everything the application needs to run
The image is started in an isolated container
No vendor lock in
Standardized APIs
Your laptop
Bare metal
Cloud Providers
And if you don't want to install and maintain Kubernetes
yourself
Managed Kubernetes
None
So we have code, how do we get this into
Kubernetes?
Angular demo application
Demo
We have to
Build a docker image
Contains everything that the service needs to run
Make the build as fast as possible
Make the image as small as possible
Demo
Tell Kubernetes to
Start containers
In Kubernetes
• A group of 1 or more containers • Same
port space • Within a Pod: communication over localhost • Every container has their own filesystem • Every Pod has it's own IP • All Pods can talk with each other • IPs change all the time Pod
Deployment
LoadBalancer
Everything in Kubernetes is a resource (document) defined in YAML
Demo
Also all those YAML files are not nice
Helm
Also we need
DNS
TLS
Monitoring
CI/CD pipeline
Make use of Kubernetes "magic"
Demo
Magic recap
LoadBalancers
Automatically creates a highly available LoadBalancer with a public IP
address
Ingress controller
The ingress controller (nginx) listens on routing rules in Ingress
Resources and configures itself to route incoming traffic to the correct running and healthy pods
cert-manager
Cert-manager listens on Ingress Resources and if they need TLS,
requests a certificate from LetsEncrypt
external-dns
External-DNS listens on Ingress Resources and creates DNS entries
Sealed Secrets
Secrets are stored encrypted in Git and decrypted inside of
the cluster
Prometheus
Kubernetes and Node metrics are automatically included
Kubernetes and Node alerts are automatically included
Kubernetes and Node dashboards are automatically included
Scraping targets can be automatically discovered
Service Meshes
None
Recommendation: Start playing around with Kubernetes
Alternatives
Flux
None
Knative
Kubernetes-based platform to deploy and manage modern serverless workloads
Tekton CD
CI that runs completely within Kubernetes with Kubernetes Custom Resources
Resources
https:/ /gitlab.com/bashofmann/ angular-test-app
https:/ /gitlab.com/bashofmann/ angular-test-app-finished
https:/ /github.com/syseleven/ golem-workshop
[email protected]
https:/ /twitter.com/BastianHofmann http:/ /speakerdeck.com/u/bastianhofmann