SlideShare a Scribd company logo
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Taking the scissors away
Make your K8S cluster safe for DevOps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Well, safer at least
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Latest CPU level attacs
#ZombieLoad
MDSAttacs
RIDL
Fallout
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Photo	by	Randy	Fath on	Unsplash
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Me, myself and I
Jussi NummelinName
Current Work
@JNummelin / jnummelinTwitter / Github
Developer / Advocate @ Kontena, Inc.
Previous Tecnotree, Digia, Tieto, Nokia, …
Bio All-around handyman on technical topics
Working with containers & microservices
for ~5 years
Avid fly-fisher
Hockey dad
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Importance of releasing often
Go faster than competition
Learn fast
Adapt
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Topics
Scissors, scissors everywhere
Securing the cluster kernel
RBAC, the pains and gains
Enforcing workload configuration
No one likes hoarders
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
https://www.youtube.com/watch?v=ltrV-Qmh3oY
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps https://commons.wikimedia.org/wiki/File:Kookie_Studio_Mixer.JPG
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
User errors
Bazillion knobs in K8S
Easy to leave open doors
Pods not safe by default
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Root vs. non-root
86% of images in Docker Hub use root
Root is root
Userns remap not available in K8S
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Capabilities
Fine grained permission checks
Lot of default caps
Privileged == all caps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps https://www.flickr.com/photos/jdickert/1270880225
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps By	Source	(WP:NFCC#4),	Fair	use,	https://en.wikipedia.org/w/index.php?curid=19565850
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Securing cluster kernel
Use benchmark tools
Lock all doors by default
Auth complexity
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Things to watch out
Auth configured properly
Everything has proper TLS
No exposed APIs
...
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Audit
API server does auditing
Make sure you store them
Can be pushed to webhook too
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
RBAC
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
RBAC
Who can do what?
Super fine grained
Scoped
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
RBAC - Pains
Fine grained controls
Sea of YAML
What can I do?
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
RBAC - Helpers
RBAC Manager
kubectl-who-can
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Ensuring workload safety
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
No root allowed
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
No root in images
Requires effort
Easy for greenfield
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Pod Security Policy
Control for Pod security aspects
An Admission Controller
Enforcer
Can also set some defaults
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
PSP - Pains
Easy to cap your cluster
Enforced policy selected via RBAC
When did you last create a pod?
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
No one likes hoarders
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps https://www.flickr.com/photos/71622328@N08/36359861566
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Resource Quota
Limit aggregate resource consumption
Scoped per namespace
YAAC - YetAnotherAdmissionController
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Limits on
CPU
MEM
Storage
Object counts
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Putting all this together
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Secure cluster kernel
Auth
RBAC
ALL components secured
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Namespaces FTW, ensure:
Resource Quotas
PSP setup properly
Network Policies
LimitRanges
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Customize K8S
Custom operators
Operator SDK
Custom admission webhooks
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Operator Framework
Operator running in the cluster
Reacts to changes of specific objects
Can setup ”adjacent” resources
Namespace created à configure it
www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
Thank you!

More Related Content

What's hot

Serverless Security: A How-to Guide @ SnowFROC 2019
Serverless Security: A How-to Guide @ SnowFROC 2019Serverless Security: A How-to Guide @ SnowFROC 2019
Serverless Security: A How-to Guide @ SnowFROC 2019
James Wickett
 
KOSTIANTYN SEVERENCHUK, BAQ, "DevTestSecOps approach in action"
KOSTIANTYN SEVERENCHUK, BAQ,   "DevTestSecOps approach in action"KOSTIANTYN SEVERENCHUK, BAQ,   "DevTestSecOps approach in action"
KOSTIANTYN SEVERENCHUK, BAQ, "DevTestSecOps approach in action"
Dakiry
 
The Seven Habits of the Highly Effective DevSecOp
The Seven Habits of the Highly Effective DevSecOpThe Seven Habits of the Highly Effective DevSecOp
The Seven Habits of the Highly Effective DevSecOp
James Wickett
 
DevOpsDays Austin: Security in the FaaS Lane
DevOpsDays Austin: Security in the FaaS LaneDevOpsDays Austin: Security in the FaaS Lane
DevOpsDays Austin: Security in the FaaS Lane
James Wickett
 
Serverless Security: A pragmatic primer for builders and defenders
Serverless Security: A pragmatic primer for builders and defendersServerless Security: A pragmatic primer for builders and defenders
Serverless Security: A pragmatic primer for builders and defenders
James Wickett
 
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
Matt Raible
 
JHipster & blueprint 02-07-2019 - casablanca jug
JHipster & blueprint 02-07-2019 - casablanca jugJHipster & blueprint 02-07-2019 - casablanca jug
JHipster & blueprint 02-07-2019 - casablanca jug
Anthony Viard
 
Defense-Oriented DevOps for Modern Software Development
Defense-Oriented DevOps for Modern Software DevelopmentDefense-Oriented DevOps for Modern Software Development
Defense-Oriented DevOps for Modern Software Development
James Wickett
 
Release Your Inner DevSecOp
Release Your Inner DevSecOpRelease Your Inner DevSecOp
Release Your Inner DevSecOp
James Wickett
 
QCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - WorkshopQCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - Workshop
Mauricio (Salaboy) Salatino
 
Harnessing the power of cloud for real security
Harnessing the power of cloud for real securityHarnessing the power of cloud for real security
Harnessing the power of cloud for real security
Erkang Zheng
 
Defining DevSecOps
Defining DevSecOpsDefining DevSecOps
Defining DevSecOps
Uchit Vyas ☁
 
Evolution of GitLab Frontend
Evolution of GitLab FrontendEvolution of GitLab Frontend
Evolution of GitLab Frontend
Fatih Acet
 
Building the DevOps Culture Across Siemens
Building the DevOps Culture Across SiemensBuilding the DevOps Culture Across Siemens
Building the DevOps Culture Across Siemens
Roger Meier
 
Frontend DevOps Cycle using GitLab
Frontend DevOps Cycle using GitLabFrontend DevOps Cycle using GitLab
Frontend DevOps Cycle using GitLab
Roger Meier
 
Security in the Delivery Pipeline - GOTO Amsterdam 2017
Security in the Delivery Pipeline - GOTO Amsterdam 2017Security in the Delivery Pipeline - GOTO Amsterdam 2017
Security in the Delivery Pipeline - GOTO Amsterdam 2017
James Wickett
 

What's hot (16)

Serverless Security: A How-to Guide @ SnowFROC 2019
Serverless Security: A How-to Guide @ SnowFROC 2019Serverless Security: A How-to Guide @ SnowFROC 2019
Serverless Security: A How-to Guide @ SnowFROC 2019
 
KOSTIANTYN SEVERENCHUK, BAQ, "DevTestSecOps approach in action"
KOSTIANTYN SEVERENCHUK, BAQ,   "DevTestSecOps approach in action"KOSTIANTYN SEVERENCHUK, BAQ,   "DevTestSecOps approach in action"
KOSTIANTYN SEVERENCHUK, BAQ, "DevTestSecOps approach in action"
 
The Seven Habits of the Highly Effective DevSecOp
The Seven Habits of the Highly Effective DevSecOpThe Seven Habits of the Highly Effective DevSecOp
The Seven Habits of the Highly Effective DevSecOp
 
DevOpsDays Austin: Security in the FaaS Lane
DevOpsDays Austin: Security in the FaaS LaneDevOpsDays Austin: Security in the FaaS Lane
DevOpsDays Austin: Security in the FaaS Lane
 
Serverless Security: A pragmatic primer for builders and defenders
Serverless Security: A pragmatic primer for builders and defendersServerless Security: A pragmatic primer for builders and defenders
Serverless Security: A pragmatic primer for builders and defenders
 
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
 
JHipster & blueprint 02-07-2019 - casablanca jug
JHipster & blueprint 02-07-2019 - casablanca jugJHipster & blueprint 02-07-2019 - casablanca jug
JHipster & blueprint 02-07-2019 - casablanca jug
 
Defense-Oriented DevOps for Modern Software Development
Defense-Oriented DevOps for Modern Software DevelopmentDefense-Oriented DevOps for Modern Software Development
Defense-Oriented DevOps for Modern Software Development
 
Release Your Inner DevSecOp
Release Your Inner DevSecOpRelease Your Inner DevSecOp
Release Your Inner DevSecOp
 
QCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - WorkshopQCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - Workshop
 
Harnessing the power of cloud for real security
Harnessing the power of cloud for real securityHarnessing the power of cloud for real security
Harnessing the power of cloud for real security
 
Defining DevSecOps
Defining DevSecOpsDefining DevSecOps
Defining DevSecOps
 
Evolution of GitLab Frontend
Evolution of GitLab FrontendEvolution of GitLab Frontend
Evolution of GitLab Frontend
 
Building the DevOps Culture Across Siemens
Building the DevOps Culture Across SiemensBuilding the DevOps Culture Across Siemens
Building the DevOps Culture Across Siemens
 
Frontend DevOps Cycle using GitLab
Frontend DevOps Cycle using GitLabFrontend DevOps Cycle using GitLab
Frontend DevOps Cycle using GitLab
 
Security in the Delivery Pipeline - GOTO Amsterdam 2017
Security in the Delivery Pipeline - GOTO Amsterdam 2017Security in the Delivery Pipeline - GOTO Amsterdam 2017
Security in the Delivery Pipeline - GOTO Amsterdam 2017
 

Similar to JAXDevOps - Taking the scissors away - 

Make your K8S cluster safe for DevOps

Kubernetes Operability Tooling (GOTO Chicago 2019)
Kubernetes Operability Tooling (GOTO Chicago 2019)Kubernetes Operability Tooling (GOTO Chicago 2019)
Kubernetes Operability Tooling (GOTO Chicago 2019)
bridgetkromhout
 
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
bridgetkromhout
 
DevOps Indonesia #5 - The Future of Containers
DevOps Indonesia #5 - The Future of ContainersDevOps Indonesia #5 - The Future of Containers
DevOps Indonesia #5 - The Future of Containers
DevOps Indonesia
 
Devops indonesia - The Future Container
Devops indonesia - The Future ContainerDevops indonesia - The Future Container
Devops indonesia - The Future Container
Yusuf Hadiwinata Sutandar
 
The Big Cloud native FaaS Lebowski
The Big Cloud native FaaS LebowskiThe Big Cloud native FaaS Lebowski
The Big Cloud native FaaS Lebowski
QAware GmbH
 
You got database in my cloud!
You got database  in my cloud!You got database  in my cloud!
You got database in my cloud!
Liz Frost
 
Real World CI/CD with Kubernetes
Real World CI/CD with KubernetesReal World CI/CD with Kubernetes
Real World CI/CD with Kubernetes
Opsta
 
Happy Helming With Okteto
Happy Helming With OktetoHappy Helming With Okteto
Happy Helming With Okteto
sangam biradar
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Radulescu Adina-Valentina
 
Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)
Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)
Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)
Andrew Randall
 
Enabling shift-left for 12k banking developers from scratch and without break...
Enabling shift-left for 12k banking developers from scratch and without break...Enabling shift-left for 12k banking developers from scratch and without break...
Enabling shift-left for 12k banking developers from scratch and without break...
Ernesto Bethencourt
 
Okteto For Kubernetes Developer :- Container Camp 2020
Okteto For Kubernetes Developer :- Container Camp 2020 Okteto For Kubernetes Developer :- Container Camp 2020
Okteto For Kubernetes Developer :- Container Camp 2020
sangam biradar
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
kanedafromparis
 
Recap of de code 2019
Recap of de code 2019Recap of de code 2019
Recap of de code 2019
Kyohei Mizumoto
 
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
충섭 김
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ... Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
MayaData Inc
 
Removing Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking ProfessionalsRemoving Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking Professionals
Victor Morales
 
Native Spark Executors on Kubernetes: Diving into the Data Lake - Chicago Clo...
Native Spark Executors on Kubernetes: Diving into the Data Lake - Chicago Clo...Native Spark Executors on Kubernetes: Diving into the Data Lake - Chicago Clo...
Native Spark Executors on Kubernetes: Diving into the Data Lake - Chicago Clo...
Mariano Gonzalez
 
CodeOne 2019: "Continuous Delivery with Docker and Java"
CodeOne 2019: "Continuous Delivery with Docker and Java"CodeOne 2019: "Continuous Delivery with Docker and Java"
CodeOne 2019: "Continuous Delivery with Docker and Java"
Daniel Bryant
 
Understanding and building Your Own Docker
Understanding and building Your Own DockerUnderstanding and building Your Own Docker
Understanding and building Your Own Docker
Motiejus Jakštys
 

Similar to JAXDevOps - Taking the scissors away - 

Make your K8S cluster safe for DevOps (20)

Kubernetes Operability Tooling (GOTO Chicago 2019)
Kubernetes Operability Tooling (GOTO Chicago 2019)Kubernetes Operability Tooling (GOTO Chicago 2019)
Kubernetes Operability Tooling (GOTO Chicago 2019)
 
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
 
DevOps Indonesia #5 - The Future of Containers
DevOps Indonesia #5 - The Future of ContainersDevOps Indonesia #5 - The Future of Containers
DevOps Indonesia #5 - The Future of Containers
 
Devops indonesia - The Future Container
Devops indonesia - The Future ContainerDevops indonesia - The Future Container
Devops indonesia - The Future Container
 
The Big Cloud native FaaS Lebowski
The Big Cloud native FaaS LebowskiThe Big Cloud native FaaS Lebowski
The Big Cloud native FaaS Lebowski
 
You got database in my cloud!
You got database  in my cloud!You got database  in my cloud!
You got database in my cloud!
 
Real World CI/CD with Kubernetes
Real World CI/CD with KubernetesReal World CI/CD with Kubernetes
Real World CI/CD with Kubernetes
 
Happy Helming With Okteto
Happy Helming With OktetoHappy Helming With Okteto
Happy Helming With Okteto
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
 
Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)
Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)
Container Networking: the Gotchas (Mesos London Meetup 11 May 2016)
 
Enabling shift-left for 12k banking developers from scratch and without break...
Enabling shift-left for 12k banking developers from scratch and without break...Enabling shift-left for 12k banking developers from scratch and without break...
Enabling shift-left for 12k banking developers from scratch and without break...
 
Okteto For Kubernetes Developer :- Container Camp 2020
Okteto For Kubernetes Developer :- Container Camp 2020 Okteto For Kubernetes Developer :- Container Camp 2020
Okteto For Kubernetes Developer :- Container Camp 2020
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
 
Recap of de code 2019
Recap of de code 2019Recap of de code 2019
Recap of de code 2019
 
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ... Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 
Removing Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking ProfessionalsRemoving Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking Professionals
 
Native Spark Executors on Kubernetes: Diving into the Data Lake - Chicago Clo...
Native Spark Executors on Kubernetes: Diving into the Data Lake - Chicago Clo...Native Spark Executors on Kubernetes: Diving into the Data Lake - Chicago Clo...
Native Spark Executors on Kubernetes: Diving into the Data Lake - Chicago Clo...
 
CodeOne 2019: "Continuous Delivery with Docker and Java"
CodeOne 2019: "Continuous Delivery with Docker and Java"CodeOne 2019: "Continuous Delivery with Docker and Java"
CodeOne 2019: "Continuous Delivery with Docker and Java"
 
Understanding and building Your Own Docker
Understanding and building Your Own DockerUnderstanding and building Your Own Docker
Understanding and building Your Own Docker
 

Recently uploaded

Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Yara Milbes
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 

Recently uploaded (20)

Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 

JAXDevOps - Taking the scissors away - 

Make your K8S cluster safe for DevOps

  • 1. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Taking the scissors away Make your K8S cluster safe for DevOps
  • 2. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Well, safer at least
  • 3. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Latest CPU level attacs #ZombieLoad MDSAttacs RIDL Fallout
  • 4. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Photo by Randy Fath on Unsplash
  • 5. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Me, myself and I Jussi NummelinName Current Work @JNummelin / jnummelinTwitter / Github Developer / Advocate @ Kontena, Inc. Previous Tecnotree, Digia, Tieto, Nokia, … Bio All-around handyman on technical topics Working with containers & microservices for ~5 years Avid fly-fisher Hockey dad
  • 6. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Importance of releasing often Go faster than competition Learn fast Adapt
  • 7. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Topics Scissors, scissors everywhere Securing the cluster kernel RBAC, the pains and gains Enforcing workload configuration No one likes hoarders
  • 8. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps https://www.youtube.com/watch?v=ltrV-Qmh3oY
  • 9. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
  • 10. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps https://commons.wikimedia.org/wiki/File:Kookie_Studio_Mixer.JPG
  • 11. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps User errors Bazillion knobs in K8S Easy to leave open doors Pods not safe by default
  • 12. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Root vs. non-root 86% of images in Docker Hub use root Root is root Userns remap not available in K8S
  • 13. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Capabilities Fine grained permission checks Lot of default caps Privileged == all caps
  • 14. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
  • 15. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps https://www.flickr.com/photos/jdickert/1270880225
  • 16. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps By Source (WP:NFCC#4), Fair use, https://en.wikipedia.org/w/index.php?curid=19565850
  • 17. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Securing cluster kernel Use benchmark tools Lock all doors by default Auth complexity
  • 18. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Things to watch out Auth configured properly Everything has proper TLS No exposed APIs ...
  • 19. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Audit API server does auditing Make sure you store them Can be pushed to webhook too
  • 20. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps RBAC
  • 21. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps RBAC Who can do what? Super fine grained Scoped
  • 22. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
  • 23. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps RBAC - Pains Fine grained controls Sea of YAML What can I do?
  • 24. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps RBAC - Helpers RBAC Manager kubectl-who-can
  • 25. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Ensuring workload safety
  • 26. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps No root allowed
  • 27. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps No root in images Requires effort Easy for greenfield
  • 28. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Pod Security Policy Control for Pod security aspects An Admission Controller Enforcer Can also set some defaults
  • 29. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
  • 30. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps PSP - Pains Easy to cap your cluster Enforced policy selected via RBAC When did you last create a pod?
  • 31. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
  • 32. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps No one likes hoarders
  • 33. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps https://www.flickr.com/photos/71622328@N08/36359861566
  • 34. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Resource Quota Limit aggregate resource consumption Scoped per namespace YAAC - YetAnotherAdmissionController
  • 35. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Limits on CPU MEM Storage Object counts
  • 36. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
  • 37. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps
  • 38. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Putting all this together
  • 39. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Secure cluster kernel Auth RBAC ALL components secured
  • 40. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Namespaces FTW, ensure: Resource Quotas PSP setup properly Network Policies LimitRanges
  • 41. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Customize K8S Custom operators Operator SDK Custom admission webhooks
  • 42. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Operator Framework Operator running in the cluster Reacts to changes of specific objects Can setup ”adjacent” resources Namespace created à configure it
  • 43. www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps www.kontena.ioJAX DevOps 2019 // Removing the scissors - Making K8S safe for DevOps Thank you!