# We are teaching K8S wrong --- # WHAT IS KUBERNETES? --- # KUBERNETES IS A SOFTWARE TO MANAGE CLOUD APPLICATIONS! --- ## FOOBAR ```python f = open("bla.flx") f.write(motors.move(10, 20)) f.write(motors.move(20, 30)) ``` ```python f = open("bla.json") f.write(motors.move(10, 20)) f.write(motors.move(20, 30)) ``` ```json { tryFinally: { motors: { moves: [ { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 }, { from: 10.234203, to: 20.2398423 } ] }, catch: { } } } ``` - return value / success - error(errorCode, string) - resolutionRequest - notification ```c++ chain( [ motors.move(moveList), motors.move(moveList2), pipe(sensor.read(), [](reading) => { return motors.move(moveTo(reading)) }) ) ], ) ``` ## Kubernetes Kubernetes is a collection of software that is usually used to manage cloud applications. ^-- 1 SLIDE WITH A BOLD STATEMENT Start with a little confused sequence with: - All the crazy stuff - pods - deployments - services - ingresses - volumes - persistent volumes - configmaps - secrets - secret management - vault - containers - overlay network - distributed storage - GKE, AKS, EKS - ceph, rook - helm, kustomize - observability - kubectl - service mesh - argo - gitops - devops - devsecops - SSL certificates - kubernetes the hard way - kubernetes Control Plane - kubelet - CRDs - controllers - operators - nodes - RBAC --- - Fundamentally we have a database that stores arbitrary objects - this can be a distributed database (resilient) like etcd - CRDs - but it can also be a plain database (sqlite -> k3s) We have an API server in front of the database that you can use as a REST server to interface to the database: - push to the database - read from the database - subscribe to change streams / events - // called the control plane You have a lot of specialized operators that listen to changes in the database and act upon them. - the user writes the desired state into the database - the operators make that state happen ![[PRESENTATION - We are teaching kubernetes wrong-1657301799495.jpeg]] ![[PRESENTATION - We are teaching kubernetes wrong-1657301814162.jpeg]] ![[PRESENTATION - We are teaching kubernetes wrong-1657301844065.jpeg]] ![[PRESENTATION - We are teaching kubernetes wrong-1657301894238.jpeg]] ![[PRESENTATION - We are teaching kubernetes wrong-1657302012756.jpeg]]