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
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
170
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
210
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
280
Dive-In-Workshop: Kubernetes
bastianhofmann
0
460
Other Decks in Programming
See All in Programming
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
260
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
Foundation Models frameworkで画像分析
ryodeveloper
1
600
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
180
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
490
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
550
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
180
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
The Invisible Side of Design
smashingmag
301
52k
Ruling the World: When Life Gets Gamed
codingconduct
0
290
Accessibility Awareness
sabderemane
1
170
Done Done
chrislema
186
16k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Designing Experiences People Love
moore
143
24k
Mind Mapping
helmedeiros
PRO
1
300
Making Projects Easy
brettharned
120
6.7k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
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