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
190
0
Share
From source to Kubernetes in 30 minutes
Bastian Hofmann
October 21, 2019
More Decks by Bastian Hofmann
See All by Bastian Hofmann
Monitoring in Kubernetes with Prometheus and Grafana
bastianhofmann
0
350
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
140
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
160
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
240
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
280
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
200
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
270
Dive-In-Workshop: Kubernetes
bastianhofmann
0
450
Other Decks in Programming
See All in Programming
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
510
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
120
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
210
Oxlintのカスタムルールの現況
syumai
5
930
関係性から理解する"同一性"の型用語たち
pvcresin
2
620
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
Moments When Things Go Wrong
aurimas
3
130
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1k
誰も頼んでない機能を出荷した話
zekutax
0
150
CSC307 Lecture 17
javiergs
PRO
0
310
今さら聞けないCancellationToken
htkym
0
210
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
The Mindset for Success: Future Career Progression
greggifford
PRO
0
350
GitHub's CSS Performance
jonrohan
1033
470k
KATA
mclloyd
PRO
35
15k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The SEO identity crisis: Don't let AI make you average
varn
0
480
Utilizing Notion as your number one productivity tool
mfonobong
4
310
Information Architects: The Missing Link in Design Systems
soysaucechin
0
950
Design in an AI World
tapps
1
220
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
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