Kubernetes for Developers

Jakub Gutkowski

@gutek       blog.gutek.pl       kuba@gutek.pl

What are the components and parts that makes Kubernetes Kubernetes and how they can help us in every day work

2001

deployment in 2001

  • It was rare 
  • Almost everyone was devops... ;)
  • Its was "manual" 
  • Usually was made on physical machines that companies owned (under desk on in special "server room")
  • It required downtime
  • Scaling wasn't easy

2006 - 2014*

* with a grain of salt

deployment in 2006-2014

  • It can be done few times per day
  • "hardware" is not an issue
  • It can and usually is done remotely
  • We can do it without downtime
  • One person can be responsible for doing all the work

Still a supervisor is required

deployment in 2006-2014

  • Complexity is proportional to number of elements involved
  • Scaling is still not that easy
  • We use custom made tooling to aid with deployments

2014 - *

* with a grain of salt

The only difference is

Someone even try to do this

If you can’t feed a team with two pizzas, it’s too large. That limits a task force to five to seven people, depending on their appetites 

 

Jeff Bezos

* more realistic example

k8s

kates 🤣

k12345678s
kubernetes

Two Points of View/Aspects

that are not mutually exclusive

  • Set of tools
  • Something that we can use to do same thing that we used to but in less time and effort
  • As a building block of something bigger
  • as a part of a platform
  • or base for new platform

Lets convert app to K8s

Pod

probes

Pod are ephemeral

ReplicaSet

Services

Services

Deployment

Deployment

Deployment

RollingUpdate

RollingUpdate

RollingUpdate

RollingUpdate

RollingUpdate

RollingUpdate

After conversion to K8s *

* with a grain of salt

and all of this we can achieve with simple

kubectl 
  apply 
  -f solution.yaml

Where to use is?

what sort of appliacation

  • "exe" - schedule jobs
  • api
  • internal/external api
  • web app
  • Mobile App
  • Desktop App
  • small projects
  • hosting only static files
  • etc

Use It

DO NOT USE IT

Basically everything that can be run on containers is a good fit *

* excluding dockerized desktops... seriously why?????

*

  • It's that simple and it's not
  • Each application is different
  • There are multiple "configuration" elements that need to be taken under consideration
  • There are technology-specific settings for containers
  • There are infrastructure-specific settings 
  • There are cloud-specific settings 

What are the components and parts that makes Kubernetes Kubernetes and how they can help us in every day work

2019/09/09 - CNW - Kuberneters dla Developers - ENG

By Jakub Gutkowski

2019/09/09 - CNW - Kuberneters dla Developers - ENG

...

  • 982