Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An...
Transcript of Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An...
![Page 2: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/2.jpg)
Anthony E. Nocentino• Consultant and Trainer
• Founder and President of Centino Systems
• Specialize in system architecture and performance
• Masters Computer Science
• Microsoft MVP - Data Platform - 2017 - 2018
• Linux Foundation Certified Engineer
• Friend of Redgate - 2015-2019
• email: [email protected]
• Twitter: @nocentino
• Blog: www.centinosystems.com/blog
• Pluralsight Author: www.pluralsight.com
![Page 3: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/3.jpg)
Agenda
• Container Based Application Deployment
• What is Kubernetes
• Benefits of Using Kubernetes
• Kubernetes API Objects
• Exploring Kubernetes Architecture
• Deploying Applications
• Production Ready Clusters
![Page 4: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/4.jpg)
Container Based Application Deployment
• Single-tier applications - anything written by IBM
• Multi-tier applications - Service oriented, Client/Server…
• Micro-services - smaller, more easily changed units Host Operating System
App1
Binaries/Libraries
Container
App2
Binaries/Libraries
Container
App3
Binaries/Libraries
Container
![Page 5: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/5.jpg)
Modern Application Deployment
Web 1
SQL
• Where do I run the application?
• How do I scale the application?
• How do I consistently deploy?
• How do I provide consistent services in a loosely connected system?Web 2
Caching
![Page 6: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/6.jpg)
What is Kubernetes?
• Container Orchestrator
• Infrastructure Abstraction
• Desired State
![Page 7: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/7.jpg)
Kubernetes Benefits
• Managing state, starting things and keeping them up
• Speed and consistency of deployment
• Ability to absorb change quickly
• Ability to recovery quickly
• Hide complexity in Cluster
• Persistent application access endpoints
![Page 8: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/8.jpg)
Kubernetes Cluster
Web 1
SQL Web 2
Caching
Cluster
![Page 9: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/9.jpg)
Kubernetes API
• API Objects - Represent resources in your system
• API Server - Main communication hub
• Pods
• Controllers
• Services
• Storage
• …and more
![Page 10: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/10.jpg)
Pods
• One or more containers
• It’s your application or service
• The most basic unit of work
• Unit of scheduling
• Ephemeral - no Pod is ever “redeployed”
![Page 11: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/11.jpg)
Controllers
• Create and manage Pods for you
• Define your desired state
• Respond to Pod State and Health
• ReplicaSet
• Deployment
![Page 12: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/12.jpg)
Services
• Adds persistency to our ephemeral world
• Networking abstraction for Pod access
• IP and DNS name for the service
• Load balancing
• Redeployed Pods automatically updated
• Scaled by adding/removing Pods
![Page 13: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/13.jpg)
Storage
• Persistent Volumes
• Pod independent storage
• Administrator defined storage
• Persistent Volume Claims
• The Pod “claims” the PV
• Decouples the Pod and the storage
SQL
Cluster
Storage
![Page 14: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/14.jpg)
Exploring Kubernetes Architecture
Master
API Server
Cluster Store
Scheduler
Controller Manager
Kubelet
Kube-proxy
Container Runtime
Node
kubectl
![Page 15: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/15.jpg)
PodPod
Pod
kubectl
Pod
API Server
Cluster Store
Scheduler
Controller Manager
Kubelet
Kube-proxy
Container Runtime
Master
Node
Kubelet
Kube-proxy
Container Runtime
Node
Controller Operation of Pods
![Page 16: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/16.jpg)
PodPod
Pod
Pod HTTP
Cluster Service
Pod
XServices
![Page 17: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/17.jpg)
Deploying Applications
• Imperative
• Declarative
• YAML and JSON
![Page 18: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/18.jpg)
Declarative Deployment - Manifests
apiVersion: v1kind: Podmetadata: name: nginx-podspec: containers: - name: nginx image: nginx ports: - containerPort: 80
kubectl apply -f nginx.yaml
![Page 19: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/19.jpg)
Application Deployment Process
Pod
kubectlMaster
AP
I Server
Cluster Store
Scheduler
Controller Manager
Kubelet
Kube-proxy
Container Runtime
Node
apply
![Page 20: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/20.jpg)
Demo!
• Deploying a web application
• Accessing Services within a Cluster
• Deploying SQL Server in a ReplicaSet with Persistent Storage
kubectl
API Server
Cluster Store
Scheduler
Controller Manager
Kubelet
Kube-proxy
Container Runtime
Master
Node
![Page 21: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/21.jpg)
Building Production Ready Clusters
• Scalability - number of Nodes
• Inter-cluster communication patterns (Network connectivity)
• High Availability
• API Server - Load Balanced
• etcd - Multiple Replicas
• Disaster Recovery
• etcd Backups
• Persistent Volumes
![Page 22: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/22.jpg)
From: https://docs.microsoft.com/en-us/sql/big-data-cluster/big-data-cluster-overview?view=sqlallproducts-allversions
![Page 23: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/23.jpg)
Review
• Container Based Application Deployment
• What is Kubernetes
• Benefits of Using Kubernetes
• Kubernetes API Objects
• Exploring Kubernetes Architecture
• Deploying Applications
• Production Ready Clusters
![Page 24: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/24.jpg)
More Resources• Docker for Windows/Mac
• Minikube
• Managed Service Providers
• Azure Kubernetes Service (AKS)
• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough
• Elastic Container Service for Kubernetes (EKS)
• https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/
• Google Kubernetes Engine (GKE)
• https://cloud.google.com/kubernetes-engine/docs/how-to/
• Pluralsight! - Kubernetes Installation and Configuration Fundamentals
• https://app.pluralsight.com/profile/author/anthony-nocentino
![Page 25: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/25.jpg)
Need more data or help?http://www.centinosystems.com/blog/talks/
Links to resources Demos
Presentation Pluralsight
[email protected]@nocentino
www.centinosystems.com
Solving tough business challenges with technical innovation
![Page 26: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/26.jpg)
Questions?
![Page 27: Kubernetes - An Architectural Deep Dive - Centino Systems€¦ · Inside Kubernetes An Architectural Deep Dive Anthony E. Nocentino aen@centinosystems.com. Anthony E. Nocentino ...](https://reader033.fdocuments.us/reader033/viewer/2022042222/5ec939f2a76a033f091c5ac5/html5/thumbnails/27.jpg)
Thank You!