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
180
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
220
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
280
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
190
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
260
Dive-In-Workshop: Kubernetes
bastianhofmann
0
450
Other Decks in Programming
See All in Programming
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
730
モダンOBSプラグイン開発
umireon
0
190
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
290
Rethinking API Platform Filters
vinceamstoutz
0
4.2k
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
4
2.2k
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
140
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
180
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
3.6k
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.2k
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
170
Feature Toggle は捨てやすく使おう
gennei
0
390
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
480
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.2k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
170
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.5k
Abbi's Birthday
coloredviolet
2
6.1k
From π to Pie charts
rasagy
0
160
The Curious Case for Waylosing
cassininazir
0
280
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
For a Future-Friendly Web
brad_frost
183
10k
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