SlideShare a Scribd company logo
k8s vs cf
Through the eyes of the user
HELLO!
Ivan Borshukov
ChaosGroup
@botu6aa
What is it?
k8s
open-source system for
automating deployment,
scaling, and management of
containerized applications
What is it?
cf
code-centric platform that
runs code in any language
or framework in the cloud
and manages its lifecycle
k8s
● Open-source
● Lifecycle
● Containers
What is it?
cf
● Open-source
● Lifecycle
● Applications
Abstractions
k8s
Container
Pod
Replica Set
Deployment
Daemon Set
Volume
Abstractions
cf
Application
Service
● Container
● Pod - group of one or more containers with
shared storage/network
● Replication Controller - ensures that a
specified number of pod replicas are running
at any one time
● Deployment - provides declarative updates
for Pods and Replica Sets.
Kubernetes Abstractions 101
● Service - defines a logical set of Pods and a
policy by which to access them
● Volume
● ConfigMap - configuration key/value pairs
● Secret - sensitive data
● Label & Label selector
● And more...
Kubernetes Abstractions 101 (continued)
Kubernetes Abstractions 101
User Interaction
● CLI - both CF and k8s
● Web interface (limited functionality) - k8s
User Interaction
K8s
Hello, World!
$ kubectl run hello-k8s --image=hello
# or
$ kubectl apply -f descriptor.yml
# or
$ kubectl create -f descriptor.yml
CF
Hello, World!
$ cf push
Running your application
cf
● Blocks until app is
started
● Gives you logs
k8s
● Eventually starts your
containers
● You need to take care
of what’s happening
k8s
● Container image
● ConfigMap
● Secret
● Volume
Configuring your application
cf
● Env variables
k8s
● Creating a Service
○ ENV variables
○ DNS
● IaaS specific
Accessing your application
cf
● https://myapp.cfapps.i
o
k8s
● Direct
● Using a Service
App to App communication
cf
● https://myapp.cfapps.i
o
k8s
● Volumes (IaaS-specific)
● User-provided service
● Self-hosted service
Storing state
cf
● Marketplace
● User-provided service
Storing state
k8s
Viewing logs
cf
$ kubectl logs $ cf logs
k8s
Attaching to your Application (ssh)
cf
$ kubectl exec
$ kubectl 
port-forward
$ cf ssh
k8s
● Labels
○ env=test
○ env=prod
○ env=prod
● Namespaces
Environment isolation
cf
● Organizations and
spaces
K8s Labels
k8s
● Global or namespace
● User-described, based
on rules
Role-based access control
cf
● Global, org or space
● Predefined roles
K8s roles example
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["configmaps"]
resourceNames: ["my-config"]
verbs: ["get"]
k8s
● Memory & CPU
● Request resources
● Limit resources
Resource restriction
cf
● Memory
K8s resource: request & limit
containers:
- name: frontend
image: wordpress
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
k8s
● Restart on crash with
backoff
● Liveness probes - is app alive
● Readiness probes - is app
ready to serve requests
● Customizable - TCP, HTTP,
custom command
Health management
cf
● Restart on crash
● Health checks - TCP, HTTP,
PID
Readiness & Liveness
livenessProbe:
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 2
Running locally
k8s
$ minikube start
$ minikube addons 
enable efk
Attaching to your Application (ssh)
cf
$ vagrant up
$ bosh target
$ bosh deploy
Containers
k8s
● User provided
● Privileged
● Root
● Stateless or stateful
Containers
cf
● Platform-created
● Non-privileged
● Rootless
● Stateless
Usage Scenarios
k8s
● Out of the box support
● 3rd party components
integration (e.g.
Prometheus)
Application Monitoring using PULL
cf
● Different URL for each
app instance (hack)
Multiple processes
cf
● Multiple processes?
k8s
● Pods - group of one or
more containers with
shared storage &
network
● Sidecar - extend and enhance the "main"
container
K8s Sidecar
● Ambassador - proxy a local connection to the
world
K8s Ambassador
● Adapter - standardize and normalize output
K8s Adapters
k8s
Stateful & Feature-rich
cf
Stateless & Simple
THANKS!
Any questions?
Credits
Special thanks to all the people who made and
released these awesome resources for free:
✘ Presentation template by SlidesCarnival
✘ Photographs by Unsplash

More Related Content

PDF
Modernization patterns to refactor a legacy application into event driven mic...
PDF
Kubernetes: The evolution of distributed systems | DevNation Tech Talk
PPTX
Getting Started with Kafka on k8s
PDF
Build your operator with the right tool
PDF
The Kubernetes Effect
PDF
Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...
ODP
Cloud Native Java Development Patterns
PPTX
Gocd – Kubernetes/Nomad Continuous Deployment
Modernization patterns to refactor a legacy application into event driven mic...
Kubernetes: The evolution of distributed systems | DevNation Tech Talk
Getting Started with Kafka on k8s
Build your operator with the right tool
The Kubernetes Effect
Serverless Workflow: New approach to Kubernetes service orchestration | DevNa...
Cloud Native Java Development Patterns
Gocd – Kubernetes/Nomad Continuous Deployment

What's hot (20)

PDF
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
PDF
Give Your Confluent Platform Superpowers! (Sandeep Togrika, Intel and Bert Ha...
PDF
The Evolution of Distributed Systems on Kubernetes
PDF
Deploying Kong with Mesosphere DC/OS
PDF
Architectural patterns for high performance microservices in kubernetes
PPTX
Better Kafka Performance Without Changing Any Code | Simon Ritter, Azul
PDF
From Postgres to Event-Driven: using docker-compose to build CDC pipelines in...
PDF
What next after microservices
PDF
AWS Lambda and serverless Java | DevNation Live
PDF
Managing Stateful Services with the Operator Pattern in Kubernetes - Kubernet...
PDF
Machine Learning Exchange (MLX)
PDF
Monitoring Cockpit for OpenShift Clusters
PPTX
Introduction to container mangement
PDF
How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...
PDF
Serverless stream processing of Debezium data change events with Knative | De...
PDF
Kubeflow Control Plane 中文
PDF
Confluent Developer Training
PDF
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
PDF
Model Driven SDLC using Docker #gopaddle #dockermeetup
PDF
Securing Kafka At Zendesk (Joy Nag, Zendesk) Kafka Summit 2020
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
Give Your Confluent Platform Superpowers! (Sandeep Togrika, Intel and Bert Ha...
The Evolution of Distributed Systems on Kubernetes
Deploying Kong with Mesosphere DC/OS
Architectural patterns for high performance microservices in kubernetes
Better Kafka Performance Without Changing Any Code | Simon Ritter, Azul
From Postgres to Event-Driven: using docker-compose to build CDC pipelines in...
What next after microservices
AWS Lambda and serverless Java | DevNation Live
Managing Stateful Services with the Operator Pattern in Kubernetes - Kubernet...
Machine Learning Exchange (MLX)
Monitoring Cockpit for OpenShift Clusters
Introduction to container mangement
How Confluent Completes the Event Streaming Platform (Addison Huddy & Dan Ros...
Serverless stream processing of Debezium data change events with Knative | De...
Kubeflow Control Plane 中文
Confluent Developer Training
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
Model Driven SDLC using Docker #gopaddle #dockermeetup
Securing Kafka At Zendesk (Joy Nag, Zendesk) Kafka Summit 2020
Ad

Similar to K8s vs Cloud Foundry (20)

PPTX
Meetup 12-12-2017 - Application Isolation on Kubernetes
PPTX
Container & kubernetes
PPTX
K8s best practices from the field!
PDF
Openstack days sv building highly available services using kubernetes (preso)
PDF
CN Asturias - Stateful application for kubernetes
PPTX
An Introduction to Kubernetes and Continuous Delivery Fundamentals
PPTX
Introduction to Container Storage Interface (CSI)
PPTX
Kubernetes Internals
PPTX
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
PPTX
Introduction to kubernetes
PDF
Introduction to istio
PPTX
OpenEBS hangout #4
PDF
CoreOS @Codetalks Hamburg
PDF
Hands-On Introduction to Kubernetes at LISA17
PDF
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
PDF
Containarized Gluster Storage in Kubernetes
PDF
Kubernetes: The Next Research Platform
PDF
Kubernetes on AWS
PDF
Kubernetes on AWS
PDF
Testing kubernetes and_open_shift_at_scale_20170209
Meetup 12-12-2017 - Application Isolation on Kubernetes
Container & kubernetes
K8s best practices from the field!
Openstack days sv building highly available services using kubernetes (preso)
CN Asturias - Stateful application for kubernetes
An Introduction to Kubernetes and Continuous Delivery Fundamentals
Introduction to Container Storage Interface (CSI)
Kubernetes Internals
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
Introduction to kubernetes
Introduction to istio
OpenEBS hangout #4
CoreOS @Codetalks Hamburg
Hands-On Introduction to Kubernetes at LISA17
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Containarized Gluster Storage in Kubernetes
Kubernetes: The Next Research Platform
Kubernetes on AWS
Kubernetes on AWS
Testing kubernetes and_open_shift_at_scale_20170209
Ad

Recently uploaded (20)

PDF
top salesforce developer skills in 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
history of c programming in notes for students .pptx
PDF
System and Network Administraation Chapter 3
PDF
medical staffing services at VALiNTRY
PPTX
Transform Your Business with a Software ERP System
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
ai tools demonstartion for schools and inter college
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
top salesforce developer skills in 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
history of c programming in notes for students .pptx
System and Network Administraation Chapter 3
medical staffing services at VALiNTRY
Transform Your Business with a Software ERP System
Materi-Enum-and-Record-Data-Type (1).pptx
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Materi_Pemrograman_Komputer-Looping.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Wondershare Filmora 15 Crack With Activation Key [2025
Odoo POS Development Services by CandidRoot Solutions
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Operating system designcfffgfgggggggvggggggggg
ai tools demonstartion for schools and inter college
Softaken Excel to vCard Converter Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
VVF-Customer-Presentation2025-Ver1.9.pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...

K8s vs Cloud Foundry