SlideShare a Scribd company logo
KUBERNETES TRAINING
KUBERNETES TRAINING
WHO AM I?
▸ Over 25 years experience working with datacentre and development technologies.
▸ Adopter of Kubernetes from soon after it was released.
▸ Creator of Open Datacentre. A Kubernetes distribution and datacentre workloads.
▸ https://opendatacentre.io
▸ Co-organiser of the Melbourne Kubernetes Meetup.
▸ https://melbkubernetes.org
▸ Director of Cito Pro. Helping companies to understand and adopt Kubernetes based datacentre and
developer technologies.
▸ https://citopro.com
▸ Photographer.
▸ https://desdrury.com
KUBERNETES TRAINING
OVERVIEW
▸ Kubernetes Review
▸ Production Capabilities
▸ Workflows
▸ Demo
▸ Wrap Up
▸ Questions
KUBERNETES
REVIEW
KUBERNETES TRAINING
WHY USE KUBERNETES?
▸ Manage containers at scale.
▸ Declarative.
▸ Self healing.
▸ Service discovery.
▸ Run anywhere.
▸ https://kubernetes.io
KUBERNETES TRAINING
WHO IS USING KUBERNETES?
▸ Australia Post
▸ ANZ
▸ NBN
▸ MYOB
▸ Fairfax
▸ CBA
▸ ME Bank
▸ Victorian government.
▸ NSW government.
▸ Many others.
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Fundamental unit of deployment and scaling.
▸ Has one or more containers.
▸ Pod is allocated an IP address.
▸ Containers share the network interface.
▸ Storage volumes are mapped into the containers.
PODS
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Initialisation Containers.
▸ Set host kernel settings.
▸ Configure a database.
▸ Sidecar Containers.
▸ Ship logs.
▸ Configure secrets.
▸ Service mesh.
▸ Application Containers.
▸ Microservice.
▸ Database server.
PODS
Pod
Init Container
Sidecar Container
Application Container
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Labels are used to identify
resources, such as Pods.
▸ Selectors group resources
by selecting one of more
labels.
▸ An example is a Service
selecting the Pods for a
particular application.
LABELS AND SELECTORS
Pod
labels
name App-1
version 10.0.3
system core
Service
selectors
… …
… …
Pod
labels
… …
… …
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Deployments
▸ Replica Sets
▸ Daemon Sets
▸ Stateful Sets
▸ Cron Jobs
▸ Jobs
▸ Replication Controllers (deprecated)
WORKLOADS
▸ Wrappers for Pods
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Manages the lifecycle of Pods through ReplicaSets.
▸ Controls Pod upgrades / rollbacks.
▸ Allows Pods to be scaled.
DEPLOYMENT
Deployment ReplicaSet Pod
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Runs a Pod on each node by default.
▸ Nodes to run a Pod can be explicitly defined.
▸ Great for things like log / metric collectors, storage daemons,
etc.
DAEMONSET
NodeNodeNode
daemonset
Pod Pod Pod
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Manages sets of Pods that use storage.
▸ Gives each Pod a strong identity / name.
▸ Manages the order of Pod startup / teardown.
STATEFULSET
statefulset
Pod 1 Pod 2 Pod 3
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Runs Pod(s) to completion.
▸ Ensures a specified number
of Pods complete
successfully.
JOB
Pod
Job
PodPod
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ On a defined schedule.
▸ Runs a Job.
▸ Uses the Cron format to
define the schedule.
CRONJOB
CronJob
schedule 0 * * * *
Pod
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Service
▸ Ingress
DISCOVERY & LOAD BALANCING
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Groups a set of Pods using a
label selector.
▸ Provides a ClusterIP.
▸ Provides a DNS name.
▸ Configures routing so that
clients can communicate with
the Service endpoint.
▸ Balances requests to the Pods.
SERVICE
Service
selectors
… …
… …
Pod
labels
… …
… …
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ An Ingress resource configures an Ingress Controller.
▸ Provides external access to a Service.
INGRESS
Ingress
Ingress
Controller
Service
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Config Maps
▸ Persistent Volumes and Claims
▸ Secrets
CONFIG & STORAGE
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Allows configuration files to be stored independent of a
container image.
▸ Is mapped into a Pod.
CONFIGMAP
Pod
ConfigMap
app.yml …
…
…
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ A Persistent Volume (PV) represents some distributed storage volume.
▸ A Persistent Volume Claim (PVC) claims a PV for a Pod.
▸ Storage can come from a cloud provider or a storage provider such as
Ceph.
PERSISTENT VOLUMES & CLAIMS
Pod
Persistent
Volume
Claim
Persistent
Volume
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ Allows secrets to be stored independent of a container
image.
▸ Is mapped into a Pod as either files or environment variables.
SECRET
Pod
Secret
password XXXX
private.key …
…
KUBERNETES TRAINING
KUBERNETES CONCEPTS
▸ A NameSpace contains one or more Pods and / or other
Kubernetes resource types.
▸ A NameSpace can be thought of as like an environment.
NAMESPACE
Development
Staging
Production
Ingress Service PodPod
Persistent
Volume
Claim
Persistent
Volume
Claim
Persistent
Volume
Persistent
Volume
KUBERNETES TRAINING
CLUSTERS
▸ A cluster is composed of:
▸ A control plane that hosts the Kubernetes master components and
the Etcd key / value store.
▸ Worker nodes.
COMPONENTS
ControlPlaneWorkers
Worker
AZ 1 AZ 2 AZ 3
Master
Etcd
Master
Etcd
Master
Etcd
Worker Worker
KUBERNETES TRAINING
CLUSTERS
▸ Cloud
▸ AWS
▸ Google
▸ Azure
▸ Bare Metal (on-premise)
▸ KaaS (Kubernetes as a Service)
▸ GKE
▸ ACS
▸ EKS (in beta)
▸ Federated
TYPES
KUBERNETES TRAINING
CLUSTERS
▸ 1 cluster for Production / DR / Performance Testing.
▸ 1 cluster for Everything else.
▸ Or any other suitable configuration.
HOW MANY?
PRODUCTION
CAPABILITIES
CORE
KUBERNETES TRAINING
CORE PRODUCTION CAPABILITIES
▸ Security
▸ Administration
▸ Observability
▸ Package management
▸ Ingress
▸ Distributed storage
▸ Jobs
▸ Artefact storage
OVERVIEW
KUBERNETES TRAINING
SECURITY
▸ Authn
▸ Authz
▸ RBAC
▸ OIDC
▸ Identity store
▸ Secrets
▸ Network
▸ TLS
▸ SSO
▸ Vulnerability scanning
OVERVIEW
KUBERNETES TRAINING
ADMINISTRATION
▸ Dashboard
▸ Kubectl
▸ Backups
▸ Conformance
OVERVIEW
KUBERNETES TRAINING
OBSERVABILITY
▸ Metrics
▸ Logging
▸ Alerting
▸ Tracing
OVERVIEW
KUBERNETES TRAINING
OBSERVABILITY
▸ Prometheus and Grafana work great with Kubernetes
▸ Prometheus is the time series database.
▸ Grafana provides the dashboards.
METRICS
NodeNodeNodeNode
daemonset
Node Exporter
deployment
Prometheus
deployment
Grafana
deployment
Alert Manager
Node Exporter Node Exporter Node Exporter
KUBERNETES TRAINING
OBSERVABILITY
▸ Elasticsearch, Fluentbit and Kibana make for a great
centralised logging solution.
LOGGING
NodeNodeNodeNode
daemonset
Fluentbit
deployment
Kibana
Fluentbit Fluentbit Fluentbit
statefulset
Elasticsearch
Master
Elasticsearch
Master
statefulset
Elasticsearch
Data
Elasticsearch
Data
deployment
Elasticsearch Client Elasticsearch Client
KUBERNETES TRAINING
PACKAGE MANAGEMENT
▸ Helm is the official Kubernetes package manager.
▸ https://helm.sh
▸ https://github.com/kubernetes/charts
▸ https://hub.kubeapps.com
OVERVIEW
KUBERNETES TRAINING
INGRESS
▸ An Ingress Controller routes traffic to a Service based on the
configuration provided by an Ingress.
OVERVIEW
Pod
Ingress
Ingress
Controller
Service Pod
KUBERNETES TRAINING
STORAGE
▸ Needed for stateful workloads.
▸ Can be provided by a cloud.
▸ Or a storage provider such as Ceph.
▸ The storage provider can be hyperconverged, i.e. also
running as a workload on the cluster.
OVERVIEW
KUBERNETES TRAINING
JOBS
▸ There are many possible solutions for running CI/CD Jobs
within Kubernetes.
▸ Jenkins has great integration with Kubernetes.
▸ And can create dynamic build agents defined either through
configuration or by scripted pipelines.
OVERVIEW
checkout
code
build
image
push
image
package
chart
publish
chart
deploy
KUBERNETES TRAINING
ARTEFACTS
▸ Docker registry
▸ Helm Charts
▸ Binaries
▸ Binary caches
OVERVIEW
ADDITIONAL
KUBERNETES TRAINING
ADDITIONAL PRODUCTION CAPABILITIES
▸ Secrets management
▸ Service mesh
▸ Testing as a service
▸ Serverless
▸ Custom Operators
▸ Node autoscaling
▸ Etc
OVERVIEW
OTHER
KUBERNETES TRAINING
CNCF OVERVIEW
WORKFLOWS
KUBERNETES TRAINING
WORKFLOWS OVERVIEW
▸ Simple instructions / documentation on how to achieve a
specific goal.
▸ For:
▸ Developers;
▸ Operators;
▸ Testers;
▸ Etc.
KUBERNETES TRAINING
WORKFLOWS DEVELOPERS
▸ Local development and testing;
▸ Remote development and testing;
▸ How to use the CI/CD capability;
▸ Using Pull Requests (PRs);
▸ Release management;
▸ Creating dashboards;
▸ Etc.
KUBERNETES TRAINING
WORKFLOWS OPERATORS
▸ Upgrades;
▸ Debugging;
▸ Restores (backups should be automatic);
▸ Creating dashboards;
▸ Supporting cluster services;
▸ Developing Operators;
▸ Etc.
KUBERNETES TRAINING
WORKFLOWS TESTERS
▸ Setting up a representative environment;
▸ Running tests;
▸ Generating load;
▸ Tracing components;
▸ Creating dashboards;
▸ Etc.
DEMO
WRAP UP
KUBERNETES TRAINING
SUMMARY
▸ A Kubernetes cluster can be deployed to many different
destinations.
▸ But that is just the start.
▸ Then you need to deploy production quality workloads.
▸ And create simple workflows.
KUBERNETES TRAINING
NEXT STEPS
▸ Initial discovery. What needs to be built?
▸ Create a POC.
▸ Identity the gaps.
▸ Refine the solution.
▸ Ongoing training throughout the entire process.
QUESTIONS

More Related Content

What's hot

An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
Imesh Gunaratne
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
LINE Corporation
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
Rancher and Kubernetes Best Practices
Rancher and  Kubernetes Best PracticesRancher and  Kubernetes Best Practices
Rancher and Kubernetes Best Practices
Avinash Patil
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
Bytemark
 
Kubernetes presentation
Kubernetes presentationKubernetes presentation
Kubernetes presentation
GauranG Bajpai
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Crevise Technologies
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Azure Container Services
Azure Container Services Azure Container Services
Azure Container Services
WinWire Technologies Inc
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
Dr Ganesh Iyer
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
DevOps.com
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Eric Gustafson
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Winton Winton
 
Kubernetes
KubernetesKubernetes
Kubernetes
erialc_w
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
Eueung Mulyana
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
Rishabh Kumar
 

What's hot (20)

An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Rancher and Kubernetes Best Practices
Rancher and  Kubernetes Best PracticesRancher and  Kubernetes Best Practices
Rancher and Kubernetes Best Practices
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
Kubernetes presentation
Kubernetes presentationKubernetes presentation
Kubernetes presentation
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Azure Container Services
Azure Container Services Azure Container Services
Azure Container Services
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 

Similar to Kubernetes training

Kubernetes Workshop
Kubernetes WorkshopKubernetes Workshop
Kubernetes Workshop
Walter Liu
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with Kubernetes
Deivid Hahn Fração
 
CI/CD Pipeline with Octopus Deploy
CI/CD Pipeline with Octopus DeployCI/CD Pipeline with Octopus Deploy
CI/CD Pipeline with Octopus Deploy
Ebru Cucen Çüçen
 
Kubernetes Kops - Automation Night
Kubernetes Kops - Automation NightKubernetes Kops - Automation Night
Kubernetes Kops - Automation Night
Kasper Nissen
 
Kubernetes - A Short Ride Throught the project and its ecosystem
Kubernetes - A Short Ride Throught the project and its ecosystemKubernetes - A Short Ride Throught the project and its ecosystem
Kubernetes - A Short Ride Throught the project and its ecosystem
Maciej Kwiek
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
Sandeep Parikh
 
Traefik as an open source edge router for microservice architectures
Traefik as an open source edge router for microservice architecturesTraefik as an open source edge router for microservice architectures
Traefik as an open source edge router for microservice architectures
Jakub Hajek
 
Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017
Kyle Bassett
 
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Codemotion
 
Canary deployment with Traefik and K3S
Canary deployment with Traefik and K3SCanary deployment with Traefik and K3S
Canary deployment with Traefik and K3S
Jakub Hajek
 
Kubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containersKubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containers
inovex GmbH
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkit
Sreenivas Makam
 
Natively clouded Journey
Natively clouded JourneyNatively clouded Journey
Natively clouded Journey
Haggai Philip Zagury
 
Kubernetes meetup 102
Kubernetes meetup 102Kubernetes meetup 102
Kubernetes meetup 102
Jakir Patel
 
Intro to GKE and app deployment with Kubernetes
Intro to GKE and app deployment with KubernetesIntro to GKE and app deployment with Kubernetes
Intro to GKE and app deployment with Kubernetes
GDG Cloud Bengaluru
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Vishal Biyani
 
Micro-datacenter chaos monkeys!
Micro-datacenter chaos monkeys! Micro-datacenter chaos monkeys!
Micro-datacenter chaos monkeys!
stevesloka
 
JDO 2019: Container orchestration with Docker Swarm - Jakub Hajek
JDO 2019: Container orchestration with Docker Swarm - Jakub HajekJDO 2019: Container orchestration with Docker Swarm - Jakub Hajek
JDO 2019: Container orchestration with Docker Swarm - Jakub Hajek
PROIDEA
 
Migratory Workloads Across Clouds with Nomad
Migratory Workloads Across Clouds with NomadMigratory Workloads Across Clouds with Nomad
Migratory Workloads Across Clouds with Nomad
Philip Watts
 

Similar to Kubernetes training (20)

Kubernetes Workshop
Kubernetes WorkshopKubernetes Workshop
Kubernetes Workshop
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with Kubernetes
 
CI/CD Pipeline with Octopus Deploy
CI/CD Pipeline with Octopus DeployCI/CD Pipeline with Octopus Deploy
CI/CD Pipeline with Octopus Deploy
 
Kubernetes Kops - Automation Night
Kubernetes Kops - Automation NightKubernetes Kops - Automation Night
Kubernetes Kops - Automation Night
 
Kubernetes - A Short Ride Throught the project and its ecosystem
Kubernetes - A Short Ride Throught the project and its ecosystemKubernetes - A Short Ride Throught the project and its ecosystem
Kubernetes - A Short Ride Throught the project and its ecosystem
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
 
Traefik as an open source edge router for microservice architectures
Traefik as an open source edge router for microservice architecturesTraefik as an open source edge router for microservice architectures
Traefik as an open source edge router for microservice architectures
 
Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017
 
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...
 
Canary deployment with Traefik and K3S
Canary deployment with Traefik and K3SCanary deployment with Traefik and K3S
Canary deployment with Traefik and K3S
 
Kubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containersKubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containers
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkit
 
Natively clouded Journey
Natively clouded JourneyNatively clouded Journey
Natively clouded Journey
 
Kubernetes meetup 102
Kubernetes meetup 102Kubernetes meetup 102
Kubernetes meetup 102
 
Intro to GKE and app deployment with Kubernetes
Intro to GKE and app deployment with KubernetesIntro to GKE and app deployment with Kubernetes
Intro to GKE and app deployment with Kubernetes
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Micro-datacenter chaos monkeys!
Micro-datacenter chaos monkeys! Micro-datacenter chaos monkeys!
Micro-datacenter chaos monkeys!
 
JDO 2019: Container orchestration with Docker Swarm - Jakub Hajek
JDO 2019: Container orchestration with Docker Swarm - Jakub HajekJDO 2019: Container orchestration with Docker Swarm - Jakub Hajek
JDO 2019: Container orchestration with Docker Swarm - Jakub Hajek
 
Migratory Workloads Across Clouds with Nomad
Migratory Workloads Across Clouds with NomadMigratory Workloads Across Clouds with Nomad
Migratory Workloads Across Clouds with Nomad
 

Recently uploaded

一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
GTProductions1
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
VivekSinghShekhawat2
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 

Recently uploaded (20)

一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 

Kubernetes training

  • 2. KUBERNETES TRAINING WHO AM I? ▸ Over 25 years experience working with datacentre and development technologies. ▸ Adopter of Kubernetes from soon after it was released. ▸ Creator of Open Datacentre. A Kubernetes distribution and datacentre workloads. ▸ https://opendatacentre.io ▸ Co-organiser of the Melbourne Kubernetes Meetup. ▸ https://melbkubernetes.org ▸ Director of Cito Pro. Helping companies to understand and adopt Kubernetes based datacentre and developer technologies. ▸ https://citopro.com ▸ Photographer. ▸ https://desdrury.com
  • 3. KUBERNETES TRAINING OVERVIEW ▸ Kubernetes Review ▸ Production Capabilities ▸ Workflows ▸ Demo ▸ Wrap Up ▸ Questions
  • 5. KUBERNETES TRAINING WHY USE KUBERNETES? ▸ Manage containers at scale. ▸ Declarative. ▸ Self healing. ▸ Service discovery. ▸ Run anywhere. ▸ https://kubernetes.io
  • 6. KUBERNETES TRAINING WHO IS USING KUBERNETES? ▸ Australia Post ▸ ANZ ▸ NBN ▸ MYOB ▸ Fairfax ▸ CBA ▸ ME Bank ▸ Victorian government. ▸ NSW government. ▸ Many others.
  • 7. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Fundamental unit of deployment and scaling. ▸ Has one or more containers. ▸ Pod is allocated an IP address. ▸ Containers share the network interface. ▸ Storage volumes are mapped into the containers. PODS
  • 8. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Initialisation Containers. ▸ Set host kernel settings. ▸ Configure a database. ▸ Sidecar Containers. ▸ Ship logs. ▸ Configure secrets. ▸ Service mesh. ▸ Application Containers. ▸ Microservice. ▸ Database server. PODS Pod Init Container Sidecar Container Application Container
  • 9. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Labels are used to identify resources, such as Pods. ▸ Selectors group resources by selecting one of more labels. ▸ An example is a Service selecting the Pods for a particular application. LABELS AND SELECTORS Pod labels name App-1 version 10.0.3 system core Service selectors … … … … Pod labels … … … …
  • 10. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Deployments ▸ Replica Sets ▸ Daemon Sets ▸ Stateful Sets ▸ Cron Jobs ▸ Jobs ▸ Replication Controllers (deprecated) WORKLOADS ▸ Wrappers for Pods
  • 11. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Manages the lifecycle of Pods through ReplicaSets. ▸ Controls Pod upgrades / rollbacks. ▸ Allows Pods to be scaled. DEPLOYMENT Deployment ReplicaSet Pod
  • 12. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Runs a Pod on each node by default. ▸ Nodes to run a Pod can be explicitly defined. ▸ Great for things like log / metric collectors, storage daemons, etc. DAEMONSET NodeNodeNode daemonset Pod Pod Pod
  • 13. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Manages sets of Pods that use storage. ▸ Gives each Pod a strong identity / name. ▸ Manages the order of Pod startup / teardown. STATEFULSET statefulset Pod 1 Pod 2 Pod 3
  • 14. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Runs Pod(s) to completion. ▸ Ensures a specified number of Pods complete successfully. JOB Pod Job PodPod
  • 15. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ On a defined schedule. ▸ Runs a Job. ▸ Uses the Cron format to define the schedule. CRONJOB CronJob schedule 0 * * * * Pod
  • 16. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Service ▸ Ingress DISCOVERY & LOAD BALANCING
  • 17. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Groups a set of Pods using a label selector. ▸ Provides a ClusterIP. ▸ Provides a DNS name. ▸ Configures routing so that clients can communicate with the Service endpoint. ▸ Balances requests to the Pods. SERVICE Service selectors … … … … Pod labels … … … …
  • 18. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ An Ingress resource configures an Ingress Controller. ▸ Provides external access to a Service. INGRESS Ingress Ingress Controller Service
  • 19. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Config Maps ▸ Persistent Volumes and Claims ▸ Secrets CONFIG & STORAGE
  • 20. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Allows configuration files to be stored independent of a container image. ▸ Is mapped into a Pod. CONFIGMAP Pod ConfigMap app.yml … … …
  • 21. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ A Persistent Volume (PV) represents some distributed storage volume. ▸ A Persistent Volume Claim (PVC) claims a PV for a Pod. ▸ Storage can come from a cloud provider or a storage provider such as Ceph. PERSISTENT VOLUMES & CLAIMS Pod Persistent Volume Claim Persistent Volume
  • 22. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ Allows secrets to be stored independent of a container image. ▸ Is mapped into a Pod as either files or environment variables. SECRET Pod Secret password XXXX private.key … …
  • 23. KUBERNETES TRAINING KUBERNETES CONCEPTS ▸ A NameSpace contains one or more Pods and / or other Kubernetes resource types. ▸ A NameSpace can be thought of as like an environment. NAMESPACE Development Staging Production Ingress Service PodPod Persistent Volume Claim Persistent Volume Claim Persistent Volume Persistent Volume
  • 24. KUBERNETES TRAINING CLUSTERS ▸ A cluster is composed of: ▸ A control plane that hosts the Kubernetes master components and the Etcd key / value store. ▸ Worker nodes. COMPONENTS ControlPlaneWorkers Worker AZ 1 AZ 2 AZ 3 Master Etcd Master Etcd Master Etcd Worker Worker
  • 25. KUBERNETES TRAINING CLUSTERS ▸ Cloud ▸ AWS ▸ Google ▸ Azure ▸ Bare Metal (on-premise) ▸ KaaS (Kubernetes as a Service) ▸ GKE ▸ ACS ▸ EKS (in beta) ▸ Federated TYPES
  • 26. KUBERNETES TRAINING CLUSTERS ▸ 1 cluster for Production / DR / Performance Testing. ▸ 1 cluster for Everything else. ▸ Or any other suitable configuration. HOW MANY?
  • 28. CORE
  • 29. KUBERNETES TRAINING CORE PRODUCTION CAPABILITIES ▸ Security ▸ Administration ▸ Observability ▸ Package management ▸ Ingress ▸ Distributed storage ▸ Jobs ▸ Artefact storage OVERVIEW
  • 30. KUBERNETES TRAINING SECURITY ▸ Authn ▸ Authz ▸ RBAC ▸ OIDC ▸ Identity store ▸ Secrets ▸ Network ▸ TLS ▸ SSO ▸ Vulnerability scanning OVERVIEW
  • 31. KUBERNETES TRAINING ADMINISTRATION ▸ Dashboard ▸ Kubectl ▸ Backups ▸ Conformance OVERVIEW
  • 32. KUBERNETES TRAINING OBSERVABILITY ▸ Metrics ▸ Logging ▸ Alerting ▸ Tracing OVERVIEW
  • 33. KUBERNETES TRAINING OBSERVABILITY ▸ Prometheus and Grafana work great with Kubernetes ▸ Prometheus is the time series database. ▸ Grafana provides the dashboards. METRICS NodeNodeNodeNode daemonset Node Exporter deployment Prometheus deployment Grafana deployment Alert Manager Node Exporter Node Exporter Node Exporter
  • 34. KUBERNETES TRAINING OBSERVABILITY ▸ Elasticsearch, Fluentbit and Kibana make for a great centralised logging solution. LOGGING NodeNodeNodeNode daemonset Fluentbit deployment Kibana Fluentbit Fluentbit Fluentbit statefulset Elasticsearch Master Elasticsearch Master statefulset Elasticsearch Data Elasticsearch Data deployment Elasticsearch Client Elasticsearch Client
  • 35. KUBERNETES TRAINING PACKAGE MANAGEMENT ▸ Helm is the official Kubernetes package manager. ▸ https://helm.sh ▸ https://github.com/kubernetes/charts ▸ https://hub.kubeapps.com OVERVIEW
  • 36. KUBERNETES TRAINING INGRESS ▸ An Ingress Controller routes traffic to a Service based on the configuration provided by an Ingress. OVERVIEW Pod Ingress Ingress Controller Service Pod
  • 37. KUBERNETES TRAINING STORAGE ▸ Needed for stateful workloads. ▸ Can be provided by a cloud. ▸ Or a storage provider such as Ceph. ▸ The storage provider can be hyperconverged, i.e. also running as a workload on the cluster. OVERVIEW
  • 38. KUBERNETES TRAINING JOBS ▸ There are many possible solutions for running CI/CD Jobs within Kubernetes. ▸ Jenkins has great integration with Kubernetes. ▸ And can create dynamic build agents defined either through configuration or by scripted pipelines. OVERVIEW checkout code build image push image package chart publish chart deploy
  • 39. KUBERNETES TRAINING ARTEFACTS ▸ Docker registry ▸ Helm Charts ▸ Binaries ▸ Binary caches OVERVIEW
  • 41. KUBERNETES TRAINING ADDITIONAL PRODUCTION CAPABILITIES ▸ Secrets management ▸ Service mesh ▸ Testing as a service ▸ Serverless ▸ Custom Operators ▸ Node autoscaling ▸ Etc OVERVIEW
  • 42. OTHER
  • 45. KUBERNETES TRAINING WORKFLOWS OVERVIEW ▸ Simple instructions / documentation on how to achieve a specific goal. ▸ For: ▸ Developers; ▸ Operators; ▸ Testers; ▸ Etc.
  • 46. KUBERNETES TRAINING WORKFLOWS DEVELOPERS ▸ Local development and testing; ▸ Remote development and testing; ▸ How to use the CI/CD capability; ▸ Using Pull Requests (PRs); ▸ Release management; ▸ Creating dashboards; ▸ Etc.
  • 47. KUBERNETES TRAINING WORKFLOWS OPERATORS ▸ Upgrades; ▸ Debugging; ▸ Restores (backups should be automatic); ▸ Creating dashboards; ▸ Supporting cluster services; ▸ Developing Operators; ▸ Etc.
  • 48. KUBERNETES TRAINING WORKFLOWS TESTERS ▸ Setting up a representative environment; ▸ Running tests; ▸ Generating load; ▸ Tracing components; ▸ Creating dashboards; ▸ Etc.
  • 49. DEMO
  • 51. KUBERNETES TRAINING SUMMARY ▸ A Kubernetes cluster can be deployed to many different destinations. ▸ But that is just the start. ▸ Then you need to deploy production quality workloads. ▸ And create simple workflows.
  • 52. KUBERNETES TRAINING NEXT STEPS ▸ Initial discovery. What needs to be built? ▸ Create a POC. ▸ Identity the gaps. ▸ Refine the solution. ▸ Ongoing training throughout the entire process.