1
Pipelines & Pods: DevOps with KubernetesBurr Sutter (burrsutter.com)
@burrsutter - bit.ly/pipes-n-pods
http://bit.ly/kubernetes-tutorialhttp://bit.ly/istio-tutorialhttp://bit.ly/knative-tutorial
@burrsutter
Burr Sutter (burrsutter.com)● Red Hat’s Global Director of Developer Experience● Featured speaker at technology events around the globe● A Java Champion since 2005● Former President of the Atlanta Java User Group● Founded the DevNexus conference● Always looking for technologies that enable Dev&Ops to
deliver better software, faster
● bit.ly/kubernetes-tutorial● bit.ly/istio-tutorial● bit.ly/knative-tutorial
@burrsutter - bit.ly/pipes-n-pods
Kubernetes, Istio & Knative (and Tekton)
https://www.oreilly.com/live-training/Control-F and search for "burr"
Kubernetes Basics(9 Steps to Awesome)
Istio(Enter the Service Mesh)
Knative(Kubernetes Serverless)
@burrsutter
DevOps
Self-Service,On-Demand,
Elastic Infrastructure
Automation
CI & CDDeployment
Pipeline
AdvancedDeploymentTechniques
Advanced
Microservices
Journey to Awesomeness
@burrsutter - bit.ly/pipes-n-pods
Your Journey to Awesomeness
Self-Service,On-Demand,
Elastic Infrastructure
Automation CI & CDDeployment
Pipeline
AdvancedDeploymentTechniques
MicroservicesRe-Org to DevOps
@burrsutter - bit.ly/pipes-n-pods
Pod Replicaset/Deployment
Service Label
✓ 1+ containers✓ Shared IP✓ Shared storage (ephemeral)
✓ Shared resources✓ Shared lifecycle
✓ The Desired State - replicas,pod template: health checks, resources,image
✓ Grouping of pods (acting as one) has stable virtual IP and DNS name
✓ Key/Value pairs associated with Kubernetes objects(env=production)
Kubernetes TermsPersistent
Volume
✓ Network available storage
✓ PVs and PVCs
@burrsutter - bit.ly/pipes-n-pods
Image: quay.io/images/custservice:1.1.0Replicas: 2Labels: customerservice=prod,ci_build=1213ConfigMap: cust_config
@burrsutter - bit.ly/pipes-n-pods
Image: quay.io/images/custservice:1.1.0Replicas: 2Labels: customerservice=prod,ci_build=1213ConfigMap: cust_config
@burrsutter - bit.ly/pipes-n-pods
Custom Kinds
kind:ConfigMap
kind:Deployment
kind:Service
kind:VirtualService
kind:ServerlessService
kind:Pipeline
@burrsutter - bit.ly/pipes-n-pods
Even more Custom Kinds
kind:ConfigMap
kind:Deployment
kind:Service
kind:VirtualService
kind:ServerlessService
kind:Pipeline
kind:Kafka
kind:Integration
Strimzi.io
Camel-K
@burrsutter - bit.ly/pipes-n-pods
Even more Custom Kinds
kind:ConfigMap
kind:Deployment
kind:Service
kind:VirtualService
kind:ServerlessService
kind:Pipeline
kind:Kafka
kind:Integration
Strimzi.io
Camel-K
Istio.io
Tekton.dev
@burrsutter - bit.ly/pipes-n-pods
Istio - Sail(Kubernetes - Helmsman or ship’s pilot)
istio.iobit.ly/istio-tutorial
@burrsutter - bit.ly/pipes-n-pods
Code Independent (Polyglot)
• Intelligent Routing and Load-Balancing• Smarter Canary Releases • Dark Launch
• Chaos: Fault Injection• Resilience: Circuit Breakers• Observability & Telemetry: Metrics and Tracing• Security: Encryption & Authorization• Fleet wide policy enforcement
Next Generation Microservices - Service Mesh
@burrsutter - bit.ly/pipes-n-pods
tekton.devbit.ly/knative-tutorial
@burrsutter - bit.ly/pipes-n-pods
• Governed by the Continuous Delivery Foundation (cd.foundation)• Contributions from Google, Cloudbees, IBM, Pivotal, Red Hat and more• Originated from the Knative Build subproject• Build your linux container images in-cluster• Automate deployments• Defines new Kinds via CRDs: Pipeline, Task • Reusable Tasks (https://github.com/tektoncd/catalog)
• git clone• mvn, bazel, s2i (python, ruby, etc)• "docker build" (buildah, kaniko, makisu)
Pipelines - Tekton
@burrsutter - bit.ly/pipes-n-pods
Pipeline
Pipelines, Tasks, Steps, Resources
Task
Step
Step
Task
Stepgit image cluster
Task
Step
Step
PipelineResource
PipelineResource
@burrsutter - bit.ly/pipes-n-pods
• Blue/Green part of base Kubernetes/OpenShift• Percentages not based on pod count - Canary Deployment• Smart Canaries• Dark Launch
Istio Traffic Control
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
BUILDSCM
Blue/Green Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
BUILDSCM
Blue/Green Deployment
@burrsutter - bit.ly/pipes-n-pods
Blue/Green Deployment
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
BUILDSCM
@burrsutter - bit.ly/pipes-n-pods
Blue/Green Deployment
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
BUILDSCM
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
BUILDSCM
Blue/Green Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Blue/Green Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Blue/Green Deployment
x
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Blue/Green Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter - bit.ly/pipes-n-pods
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Canary Deployment
@burrsutter
DEVELOPMENT QA STAGING PRODUCTION ROUTER USERS
SCM
Dark Launch - Monitoring the Mirror
X
@burrsutter - bit.ly/pipes-n-pods
http://bit.ly/9stepsawesomehttp://bit.ly/kubernetes-tutorialhttp://bit.ly/istio-introhttp://bit.ly/istio-tutorialhttp://bit.ly/serverless-kubehttp://bit.ly/knative-tutorial (includes Tekton)
Resources
Top Related