SlideShare a Scribd company logo
© Copyright 2018 Pivotal Software, Inc. All rights Reserved. Version 1.0
Paul Czarkowski
Principal Technologist
@pczarkowski
github.com/paulczar
Day 2 Kubernetes
Beyond the install
Who is using Linux Containers ?
Who is using Kubernetes ?
Who is operating Kubernetes ?
> 1 year Kubernetes experience?
People build Platforms
People build Apps
Apps run on Platforms
People are the most
important component
of any platform.
“Organizations which design systems ... are
constrained to produce designs which are
copies of the communication structures of
these organizations.” - Conways Law
https://www.slideshare.net/SatnamSingh67/2015-0605-cluster-
management-with-kubernetes
Infra
Services
App
Platform
Evolve your IT teams!
Platform
Team
Application
Team
Build common services
for App Teams
Take business
requirements and turn
them into features
IaaS
Virtual Infrastructure
Physical Infrastructure
Abstract infrastructure
complexity with easy
consumption
DBaaSELK
App2App1 App3
Middleware
ML
Creds/CertsMessaging
???
Container Services
Container Hosts | Kubernetes
Infrastructure
Team
“In general, taking something that’s
already working somewhere and
expanding its usage (capabilities) is far
more likely to succeed than building
these capabilities from scratch”
Patches Patching App and System components
as CVEs occur
Scaling Seamlessly scale platform components
to accommodate changing demand.
Upgrades. How do you roll out new versions of
the platform with the lights on?
Operating Effort Operating the platform should
require very few resources and minimum manual
intervention. Otherwise, you will be spending
lots on operational support!
Development The team can make progress in
developing new features for the platform
CI/CD CI/CD pipelines drive the testing and
promotion of artifacts
Consistency Provide a consistent setup
experience, across different environment
configurations.
Setup time How long does it take to setup a real
world working environment? Think hours, not
weeks.
Day 1 - Build Day 2 - Operate & Enhance
Architecture
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
K8s Worker
Pod
Pod
Pod
CNI
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
Kubelet
Kube-proxy
Etcd
K8s Worker
Pod
Pod
Pod
CNI
Docker
Etcd
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
K8s Worker
Pod
Pod
Pod
CNI
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
API Server
Kube Scheduler
K8s Master
Controller
Manager
EtcdEtcd
us-tirefire-1a us-tirefire-1b us-tirefire-1c
High Availability
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
EtcdEtcd
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
EtcdEtcd
http://www.bsielearning.com.au/keep-simple-stupid/
Kubelet
Kube-proxy
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
K8s Worker
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
Etcd
Deployment
How to
Get an
Kubernetes
Are you
in the
“cloud”?
yes
Which
cloud ?
GKEAKS EKS
Azure
Google
Amazon
Do you
want
help?
no
GLHF
Pivotal Container Service
…
...
https://kubernetes.io/partners
no
yes
Other
A
laptop ?
minikube
no
yes
Infrastructure
Compute Network Monitoring
Security Storage
Kubernetes Cluster
vSphere NSX Wavefront
NSX Datastores
Load Balancer
Storage
Requirements
Availability
Zone
Security Policy
Application
Metrics
https://docs-cfcr.cfapps.io/
https://github.com/openshift/origin
https://github.com/kubernetes-incubator/kubespray
Kubespray
https://github.com/kubernetes-incubator/kubespray
● Ansible based, so very approachable
● An official Kubernetes (incubator) project
● Good support for CNIs and Cloud Providers
● Combine with one of the Ansible Hardening projects
○ https://github.com/dev-sec/ansible-os-hardening
○ https://github.com/openstack/ansible-hardening
gitops
● Deployed Platform == code repo + environment repo
○ Ansible - Playbook + Inventory
○ Bosh - Release + Manifest
● Keep it all in git!
○ Fork upstream repo… if only to ensure it doesn’t get changed from under you
○ Inventory/Manifest is probably YAML … perfect to be stored in git.
○ One repo for all envs, or a repo per env … either is fine.
● Consider using a gitops focussed wrapper around ansible
○ Ursula-cli (https://github.com/blueboxgroup/ursula-cli)
○ Gosible (https://github.com/paulczar/gosible)
○ Molecule (https://github.com/metacloud/molecule)
● Use Jenkins or similar to run tests, deploy test envs, push to prod???
○ But probably not full on Continuous Delivery … risks are very high!
Validate and Backup
Validate your Kubernetes cluster is
conformant!
https://github.com/heptio/sonobuoy
Backup your Kubernetes cluster state!
https://github.com/heptio/ark
Upgrades
API Server
Kube Scheduler
K8s Master
Controller
Manager
Etcd
K8s Worker
Pod
Pod
Pod
CNI
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master 1.10
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master 1.10
Controller
Manager
API Server
Kube Scheduler
K8s Master 1.10
Controller
Manager
EtcdEtcd
us-tirefire-1a us-tirefire-1b us-tirefire-1c
API Server
Kube Scheduler
K8s Master 1.10
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master 1.10
Controller
Manager
API Server
Kube Scheduler
K8s Master 1.10
Controller
Manager
EtcdEtcd
us-tirefire-1a us-tirefire-1b us-tirefire-1c
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master 1.10
Controller
Manager
API Server
Kube Scheduler
K8s Master 1.10
Controller
Manager
EtcdEtcd
us-tirefire-1a us-tirefire-1b us-tirefire-1c
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
EtcdEtcd
us-tirefire-1a us-tirefire-1b us-tirefire-1c
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker 1.11
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
EtcdEtcd
us-tirefire-1a us-tirefire-1b us-tirefire-1c
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
K8s Worker 1.10
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
EtcdEtcd
us-tirefire-1a us-tirefire-1b us-tirefire-1c
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
Etcd
Kubelet
Kube-proxy
K8s Worker 1.11
Pod
Pod
Pod
K8s Worker 1.11
Pod
Pod
Pod
K8s Worker 1.11
Pod
Pod
Pod
CNI CNI CNI
Docker
Kubelet
Kube-proxy
Docker
Kubelet
Kube-proxy
Docker
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
API Server
Kube Scheduler
K8s Master 1.11
Controller
Manager
EtcdEtcd
us-tirefire-1a us-tirefire-1b us-tirefire-1c
Operations
Monitoring / Logging - The Platform
Server Agents
● Install as binaries / containers on the underlying OS
● No chicken and egg problems
● Extra devops toil (config management etc)
● Direct access to system metrics and logs
● Can use existing tools / processes
Daemonsets
● Run in Kubernetes on each node as daemonset
● If Kubernetes is broken, will the monitoring
daemonset be broken ?
● Have to be able to dockerize the agent
● Privileged containers / host volumes to access
system metrics and logs
● Masters also have to be workers or can’t run
daemonset on them.
Monitoring / Logging - Workloads
Kubernetes Metrics API
● Basic point in time pod/node metrics
● $ kubectl top {node,pod}
● Adaptors for Prometheus / Graphite / etc
Kubernetes logging
● Kubernetes configures docker to log all Pod
stdout/sterr to a file
● $ kubectl logs <name-of-pod>
● Need daemonset or agent to read k8s logs
from filesystem
● EFK - Elastic, Fluent, Kibana
Authentication / Access Control
● Node vs ABAC vs RBAC
● Service Accounts - managed inside kubernetes
● User Accounts - managed outside kubernetes
○ OpenID Connect
■ Ldap / AD
■ Oauth2
■ Etc
● Secure your Kubernetes Dashboard silly!
○ Everything is TLS encrypted …. Right ?
$ kubectl auth can-i create deployments --namespace dev
yes
$ kubectl auth can-i create deployments --namespace prod
no
Value!!
● Leverage features in modern cloud
platforms
○ Blue/Green deploys
○ Auto-healing
○ Auto-scaling
○ Advanced routing/networking
automation
● Design and build based on known
Cloud Native patterns
● Longer term investment in the application
● Likey you need access to the code
● Plus everything mentioned in
“replatforming”
● Lift and Shift with “just enough modernization”
● You may not have access to the code
● Revisit decisions made in Greenfield time
○ Around CI/CD process
● Get some quick wins through platform
capabilities
○ Reduced operating and infrastructure
cost
○ Improved speed to deploy & scale
○ Faster patching of kernel level
vulnerabilities
Replatforming vs Modernization for PKS
Lift & Shift / Replatforming Modernization
TIME Methodology
TECHNICALQUALITY
BUSINESS VALUEWORSE BETTER
WORSEBETTER
Tolerate Invest
MigrateEliminate
* Gartner’s TIME methodology for Application Portfolio Rationalization
TECHNICAL QUALITY - Technical Debt Level
BUSINESS VALUE - Revenue / Cost Impact
Identify top 10s list
APP
APP
APP
APP
1
Identify 5-10 apps confirmed
as suitable to run on PKS 2
Work on a short project to push a few
apps all the way to prod and measure the
ROI metrics
SampleToolChain
Gitlab Concourse
PLATFORM VALUE STREAM AND METRICS
REPLATFORM > MODERNIZE > OPTIMIZE
ESTABLISH, MEASURE AND UPDATE
KEY OBJECTIVES AND RESULTS (OKRs)
SPEED & AGILITY STABILITY
SCALABILITY SAVINGS
$SECURITY
40-60%*
More Projects With
Same Staff
Millions
Annual Savings on
HW, SW and
Support
25-50%*
Fewer Support
Incidents
40%*
Faster Patching
Delivery @ Zero
Downtime
-90%*
Time to Scale
$
$
%
How We Think about the Business Case
Transforming How The World Builds Software
© Copyright 2018 Pivotal Software, Inc. All rights Reserved.

More Related Content

What's hot

Running Kubernetes on AWS
Running Kubernetes on AWSRunning Kubernetes on AWS
Running Kubernetes on AWS
Amazon Web Services
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
Amazon Web Services
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
Kelvin Yeung
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
New Relic
 
AWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On GuideAWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On Guide
Manas Mondal
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
Jesus Rodriguez
 
Aks pimarox from zero to hero
Aks pimarox from zero to heroAks pimarox from zero to hero
Aks pimarox from zero to hero
Johan Biere
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An Introduction
Amazon Web Services
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
Amazon Web Services
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
Amazon Web Services
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application
VMUG IT
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
Amazon Web Services
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
Amazon Web Services
 
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersYour Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Atlassian
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKS
Amazon Web Services
 
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 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!
 
Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)
sriram_rajan
 

What's hot (20)

Running Kubernetes on AWS
Running Kubernetes on AWSRunning Kubernetes on AWS
Running Kubernetes on AWS
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
 
AWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On GuideAWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On Guide
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
Aks pimarox from zero to hero
Aks pimarox from zero to heroAks pimarox from zero to hero
Aks pimarox from zero to hero
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An Introduction
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersYour Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKS
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
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...
 
Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)
 

Similar to Kubernetes day 2 Operations

Demystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in dockerDemystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in docker
Docker, Inc.
 
Demystifying Application Connectivity with Kubernetes in the Docker Platform
Demystifying Application Connectivity with Kubernetes in the Docker PlatformDemystifying Application Connectivity with Kubernetes in the Docker Platform
Demystifying Application Connectivity with Kubernetes in the Docker Platform
Nicola Kabar
 
Fabio rapposelli pks-vmug
Fabio rapposelli   pks-vmugFabio rapposelli   pks-vmug
Fabio rapposelli pks-vmug
VMUG IT
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
Docker, Inc.
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
VMUG IT
 
Deploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and HelmDeploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and Helm
Jessica Deen
 
Kubernetes in kubernetes 搭建高可用環境
Kubernetes in kubernetes 搭建高可用環境Kubernetes in kubernetes 搭建高可用環境
Kubernetes in kubernetes 搭建高可用環境
inwin stack
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
Nebulaworks
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CD
VMware Tanzu
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
Docker, Inc.
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Samuel Dratwa
 
Kubermatic.pdf
Kubermatic.pdfKubermatic.pdf
Kubermatic.pdf
LibbySchulze
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdf
LibbySchulze
 
Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple
Wojciech Barczyński
 
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, KeynoteTectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
CoreOS
 
Flink on Kubernetes operator
Flink on Kubernetes operatorFlink on Kubernetes operator
Flink on Kubernetes operator
Eui Heo
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
Using kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containersUsing kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containers
josfuecas
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
Kel Cecil
 
Yannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowYannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflow
MarynaHoldaieva
 

Similar to Kubernetes day 2 Operations (20)

Demystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in dockerDemystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in docker
 
Demystifying Application Connectivity with Kubernetes in the Docker Platform
Demystifying Application Connectivity with Kubernetes in the Docker PlatformDemystifying Application Connectivity with Kubernetes in the Docker Platform
Demystifying Application Connectivity with Kubernetes in the Docker Platform
 
Fabio rapposelli pks-vmug
Fabio rapposelli   pks-vmugFabio rapposelli   pks-vmug
Fabio rapposelli pks-vmug
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
 
Deploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and HelmDeploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and Helm
 
Kubernetes in kubernetes 搭建高可用環境
Kubernetes in kubernetes 搭建高可用環境Kubernetes in kubernetes 搭建高可用環境
Kubernetes in kubernetes 搭建高可用環境
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CD
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kubermatic.pdf
Kubermatic.pdfKubermatic.pdf
Kubermatic.pdf
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdf
 
Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple
 
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, KeynoteTectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
 
Flink on Kubernetes operator
Flink on Kubernetes operatorFlink on Kubernetes operator
Flink on Kubernetes operator
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Using kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containersUsing kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containers
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
 
Yannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowYannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflow
 

More from Paul Czarkowski

Successful Patterns for running platforms
Successful Patterns for running platformsSuccessful Patterns for running platforms
Successful Patterns for running platforms
Paul Czarkowski
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Paul Czarkowski
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
Paul Czarkowski
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
Paul Czarkowski
 
Transform your DevOps practices with Security
Transform your DevOps practices with SecurityTransform your DevOps practices with Security
Transform your DevOps practices with Security
Paul Czarkowski
 
Compliance as Code
Compliance as CodeCompliance as Code
Compliance as Code
Paul Czarkowski
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to Kubernetes
Paul Czarkowski
 

More from Paul Czarkowski (7)

Successful Patterns for running platforms
Successful Patterns for running platformsSuccessful Patterns for running platforms
Successful Patterns for running platforms
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Transform your DevOps practices with Security
Transform your DevOps practices with SecurityTransform your DevOps practices with Security
Transform your DevOps practices with Security
 
Compliance as Code
Compliance as CodeCompliance as Code
Compliance as Code
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to Kubernetes
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 

Kubernetes day 2 Operations

  • 1. © Copyright 2018 Pivotal Software, Inc. All rights Reserved. Version 1.0 Paul Czarkowski Principal Technologist @pczarkowski github.com/paulczar Day 2 Kubernetes Beyond the install
  • 2.
  • 3.
  • 4. Who is using Linux Containers ?
  • 5. Who is using Kubernetes ?
  • 6. Who is operating Kubernetes ?
  • 7. > 1 year Kubernetes experience?
  • 8.
  • 9.
  • 10. People build Platforms People build Apps Apps run on Platforms People are the most important component of any platform.
  • 11. “Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.” - Conways Law
  • 12.
  • 14. Infra Services App Platform Evolve your IT teams! Platform Team Application Team Build common services for App Teams Take business requirements and turn them into features IaaS Virtual Infrastructure Physical Infrastructure Abstract infrastructure complexity with easy consumption DBaaSELK App2App1 App3 Middleware ML Creds/CertsMessaging ??? Container Services Container Hosts | Kubernetes Infrastructure Team
  • 15. “In general, taking something that’s already working somewhere and expanding its usage (capabilities) is far more likely to succeed than building these capabilities from scratch”
  • 16. Patches Patching App and System components as CVEs occur Scaling Seamlessly scale platform components to accommodate changing demand. Upgrades. How do you roll out new versions of the platform with the lights on? Operating Effort Operating the platform should require very few resources and minimum manual intervention. Otherwise, you will be spending lots on operational support! Development The team can make progress in developing new features for the platform CI/CD CI/CD pipelines drive the testing and promotion of artifacts Consistency Provide a consistent setup experience, across different environment configurations. Setup time How long does it take to setup a real world working environment? Think hours, not weeks. Day 1 - Build Day 2 - Operate & Enhance
  • 18.
  • 19.
  • 20. API Server Kube Scheduler K8s Master Controller Manager Etcd K8s Worker Pod Pod Pod CNI Kubelet Kube-proxy Docker
  • 21. API Server Kube Scheduler K8s Master Controller Manager Kubelet Kube-proxy Etcd K8s Worker Pod Pod Pod CNI Docker Etcd
  • 22. API Server Kube Scheduler K8s Master Controller Manager Etcd K8s Worker Pod Pod Pod CNI Kubelet Kube-proxy Docker
  • 23. API Server Kube Scheduler K8s Master Controller Manager Etcd Kubelet Kube-proxy K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master Controller Manager
  • 24. API Server Kube Scheduler K8s Master Controller Manager Etcd Kubelet Kube-proxy K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master Controller Manager API Server Kube Scheduler K8s Master Controller Manager EtcdEtcd us-tirefire-1a us-tirefire-1b us-tirefire-1c
  • 26. API Server Kube Scheduler K8s Master Controller Manager Etcd Kubelet Kube-proxy K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker
  • 27. API Server Kube Scheduler K8s Master Controller Manager Etcd Kubelet Kube-proxy K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master Controller Manager
  • 28. API Server Kube Scheduler K8s Master Controller Manager Etcd Kubelet Kube-proxy K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master Controller Manager EtcdEtcd
  • 29. API Server Kube Scheduler K8s Master Controller Manager Etcd Kubelet Kube-proxy K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master Controller Manager
  • 30. API Server Kube Scheduler K8s Master Controller Manager Etcd Kubelet Kube-proxy K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master Controller Manager EtcdEtcd
  • 32. Kubelet Kube-proxy K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod K8s Worker Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master Controller Manager Etcd Etcd
  • 34.
  • 35. How to Get an Kubernetes Are you in the “cloud”? yes Which cloud ? GKEAKS EKS Azure Google Amazon Do you want help? no GLHF Pivotal Container Service … ... https://kubernetes.io/partners no yes Other A laptop ? minikube no yes
  • 36.
  • 37. Infrastructure Compute Network Monitoring Security Storage Kubernetes Cluster vSphere NSX Wavefront NSX Datastores Load Balancer Storage Requirements Availability Zone Security Policy Application Metrics
  • 38.
  • 40. Kubespray https://github.com/kubernetes-incubator/kubespray ● Ansible based, so very approachable ● An official Kubernetes (incubator) project ● Good support for CNIs and Cloud Providers ● Combine with one of the Ansible Hardening projects ○ https://github.com/dev-sec/ansible-os-hardening ○ https://github.com/openstack/ansible-hardening
  • 41. gitops ● Deployed Platform == code repo + environment repo ○ Ansible - Playbook + Inventory ○ Bosh - Release + Manifest ● Keep it all in git! ○ Fork upstream repo… if only to ensure it doesn’t get changed from under you ○ Inventory/Manifest is probably YAML … perfect to be stored in git. ○ One repo for all envs, or a repo per env … either is fine. ● Consider using a gitops focussed wrapper around ansible ○ Ursula-cli (https://github.com/blueboxgroup/ursula-cli) ○ Gosible (https://github.com/paulczar/gosible) ○ Molecule (https://github.com/metacloud/molecule) ● Use Jenkins or similar to run tests, deploy test envs, push to prod??? ○ But probably not full on Continuous Delivery … risks are very high!
  • 42. Validate and Backup Validate your Kubernetes cluster is conformant! https://github.com/heptio/sonobuoy Backup your Kubernetes cluster state! https://github.com/heptio/ark
  • 44. API Server Kube Scheduler K8s Master Controller Manager Etcd K8s Worker Pod Pod Pod CNI Kubelet Kube-proxy Docker
  • 45. API Server Kube Scheduler K8s Master 1.10 Controller Manager Etcd Kubelet Kube-proxy K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master 1.10 Controller Manager API Server Kube Scheduler K8s Master 1.10 Controller Manager EtcdEtcd us-tirefire-1a us-tirefire-1b us-tirefire-1c
  • 46. API Server Kube Scheduler K8s Master 1.10 Controller Manager Etcd Kubelet Kube-proxy K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master 1.10 Controller Manager API Server Kube Scheduler K8s Master 1.10 Controller Manager EtcdEtcd us-tirefire-1a us-tirefire-1b us-tirefire-1c API Server Kube Scheduler K8s Master 1.11 Controller Manager
  • 47. API Server Kube Scheduler K8s Master 1.11 Controller Manager Etcd Kubelet Kube-proxy K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master 1.10 Controller Manager API Server Kube Scheduler K8s Master 1.10 Controller Manager EtcdEtcd us-tirefire-1a us-tirefire-1b us-tirefire-1c
  • 48. API Server Kube Scheduler K8s Master 1.11 Controller Manager Etcd Kubelet Kube-proxy K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master 1.11 Controller Manager API Server Kube Scheduler K8s Master 1.11 Controller Manager EtcdEtcd us-tirefire-1a us-tirefire-1b us-tirefire-1c
  • 49. API Server Kube Scheduler K8s Master 1.11 Controller Manager Etcd Kubelet Kube-proxy K8s Worker 1.11 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master 1.11 Controller Manager API Server Kube Scheduler K8s Master 1.11 Controller Manager EtcdEtcd us-tirefire-1a us-tirefire-1b us-tirefire-1c
  • 50. API Server Kube Scheduler K8s Master 1.11 Controller Manager Etcd Kubelet Kube-proxy K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod K8s Worker 1.10 Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master 1.11 Controller Manager API Server Kube Scheduler K8s Master 1.11 Controller Manager EtcdEtcd us-tirefire-1a us-tirefire-1b us-tirefire-1c
  • 51. API Server Kube Scheduler K8s Master 1.11 Controller Manager Etcd Kubelet Kube-proxy K8s Worker 1.11 Pod Pod Pod K8s Worker 1.11 Pod Pod Pod K8s Worker 1.11 Pod Pod Pod CNI CNI CNI Docker Kubelet Kube-proxy Docker Kubelet Kube-proxy Docker API Server Kube Scheduler K8s Master 1.11 Controller Manager API Server Kube Scheduler K8s Master 1.11 Controller Manager EtcdEtcd us-tirefire-1a us-tirefire-1b us-tirefire-1c
  • 53. Monitoring / Logging - The Platform Server Agents ● Install as binaries / containers on the underlying OS ● No chicken and egg problems ● Extra devops toil (config management etc) ● Direct access to system metrics and logs ● Can use existing tools / processes Daemonsets ● Run in Kubernetes on each node as daemonset ● If Kubernetes is broken, will the monitoring daemonset be broken ? ● Have to be able to dockerize the agent ● Privileged containers / host volumes to access system metrics and logs ● Masters also have to be workers or can’t run daemonset on them.
  • 54. Monitoring / Logging - Workloads Kubernetes Metrics API ● Basic point in time pod/node metrics ● $ kubectl top {node,pod} ● Adaptors for Prometheus / Graphite / etc Kubernetes logging ● Kubernetes configures docker to log all Pod stdout/sterr to a file ● $ kubectl logs <name-of-pod> ● Need daemonset or agent to read k8s logs from filesystem ● EFK - Elastic, Fluent, Kibana
  • 55. Authentication / Access Control ● Node vs ABAC vs RBAC ● Service Accounts - managed inside kubernetes ● User Accounts - managed outside kubernetes ○ OpenID Connect ■ Ldap / AD ■ Oauth2 ■ Etc ● Secure your Kubernetes Dashboard silly! ○ Everything is TLS encrypted …. Right ? $ kubectl auth can-i create deployments --namespace dev yes $ kubectl auth can-i create deployments --namespace prod no
  • 57. ● Leverage features in modern cloud platforms ○ Blue/Green deploys ○ Auto-healing ○ Auto-scaling ○ Advanced routing/networking automation ● Design and build based on known Cloud Native patterns ● Longer term investment in the application ● Likey you need access to the code ● Plus everything mentioned in “replatforming” ● Lift and Shift with “just enough modernization” ● You may not have access to the code ● Revisit decisions made in Greenfield time ○ Around CI/CD process ● Get some quick wins through platform capabilities ○ Reduced operating and infrastructure cost ○ Improved speed to deploy & scale ○ Faster patching of kernel level vulnerabilities Replatforming vs Modernization for PKS Lift & Shift / Replatforming Modernization
  • 58. TIME Methodology TECHNICALQUALITY BUSINESS VALUEWORSE BETTER WORSEBETTER Tolerate Invest MigrateEliminate * Gartner’s TIME methodology for Application Portfolio Rationalization TECHNICAL QUALITY - Technical Debt Level BUSINESS VALUE - Revenue / Cost Impact Identify top 10s list
  • 59. APP APP APP APP 1 Identify 5-10 apps confirmed as suitable to run on PKS 2 Work on a short project to push a few apps all the way to prod and measure the ROI metrics SampleToolChain Gitlab Concourse
  • 60. PLATFORM VALUE STREAM AND METRICS REPLATFORM > MODERNIZE > OPTIMIZE ESTABLISH, MEASURE AND UPDATE KEY OBJECTIVES AND RESULTS (OKRs) SPEED & AGILITY STABILITY SCALABILITY SAVINGS $SECURITY 40-60%* More Projects With Same Staff Millions Annual Savings on HW, SW and Support 25-50%* Fewer Support Incidents 40%* Faster Patching Delivery @ Zero Downtime -90%* Time to Scale $ $ % How We Think about the Business Case
  • 61. Transforming How The World Builds Software © Copyright 2018 Pivotal Software, Inc. All rights Reserved.