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
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
370
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
150
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
180
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
250
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
290
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
220
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
280
Dive-In-Workshop: Kubernetes
bastianhofmann
0
460
Other Decks in Programming
See All in Programming
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
2
500
Deep dive into the select statement (GopherCon UK)
jespino
0
170
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
570
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
140
スマート反転とウェブアクセシビリティ
camiha
0
130
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
110
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
130
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
Oxlintはいいぞ(続)
yug1224
1
550
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
650
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
54
36k
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
800
Site-Speed That Sticks
csswizardry
13
1.5k
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
My Coaching Mixtape
mlcsv
0
310
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
470
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
How STYLIGHT went responsive
nonsquared
100
6.3k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Design in an AI World
tapps
1
310
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