# 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]]