Application Delivery and Release Management with Containers, Kubernetes and Helm
Honestbee
@vincentdesmet
Application Delivery and Release Management Honestbee - - PowerPoint PPT Presentation
Application Delivery and Release Management Honestbee @vincentdesmet with Containers, Kubernetes and Helm Grocery and Food delivery Honestbee We are Hiring DevOps! Overview Context & overview of Containers (Docker) - Container
Application Delivery and Release Management with Containers, Kubernetes and Helm
Honestbee
@vincentdesmet
We are Hiring DevOps!
Reference: http://docker.com
Loosely Coupled Services Many Small Servers
~2000 Today
Monolithic Big Servers Slow changing Rapidly updated
Infrastructure Container Runtime Interface Bins / Libs Host OS Infrastructure Hypervisor AppA Bins / Libs AppA Guest OS Bins/Libs AppB Guest OS Bins/Libs AppB
Reference: http://docker.com
Container
Docker Image The basis of a Docker container Docker Container The standard unit in which the application service resides Docker Engine Creates, ships and runs Docker containers deployable on physical or virtual host locally, in a datacenter or cloud service provider Docker Registry On-premises registry for image storing and collaboration
really need?
Source
"κυβερνήτης" (kubernetes) is Greek for "pilot" or "helmsman of ship"
Container packaged Dynamically scheduled (Micro) Service oriented
Container Foo Container Bar Namespaces:
volumes
Run X Replicas = 2 Memory = 4Gi CPU = 2.5
Which node?
Run X R u n X
Pull X
X status X status
app : my-app role : master track: stable app : my-app role : worker track: stable app : my-app role : worker track: canary app : my-app role : master track: canary
app : my-app
app : my-app role : master track: stable app : my-app role : worker track: stable app : my-app role : worker track: canary app : my-app role : master track: canary
app : my-app role : worker
app : my-app role : master track: stable app : my-app role : worker track: stable app : my-app role : worker track: canary app : my-app role : master track: canary
app : my-app track: canary
app : my-app role : master track: stable app : my-app role : worker track: stable app : my-app role : worker track: canary app : my-app role : master track: canary
Replica Set:
Replica Set:
Replica Set:
Service:
Think of:
Service:
Replica Set:
Service:
Replica Set:
Deployment:
Service:
Replica Set:
Replica Set:
Deployment:
Service:
Replica Set:
Replica Set:
Deployment:
Service:
Replica Set:
Replica Set:
Deployment:
Service:
Replica Set:
Replica Set:
Deployment:
Service:
Replica Set:
Replica Set:
Deployment:
Service:
Replica Set:
Replica Set:
Deployment:
Service:
Replica Set:
Replica Set:
Deployment:
Service:
Replica Set:
Replica Set:
Deployment:
Service:
Replica Set:
Deployment:
Service:
Deployment:
ConfigMap:
env: production cache: true max_threads: 8
Service:
Deployment:
Secret:
key: *** db_user: *** db_pw: ***
Managing these bundles is a challenge in the long run, can be improved
1.
Collaboration
a. Sharing Manifest files, trust? b. Iterating c. Best Practices
2.
Managing Releases
a. Define package b. Tweaking ~ Multiple copies & variations c. Migrating
Client - Server
Write a Blog in 15 minutes
https://youtu.be/QNx9-UjTVXA