Download Image Markup all following tutorials are done with k3s version: k3s version v1.17.2+k3s1 (cdab19b0)


Worker Node

A server - a physical or virtual machine. pods are running here.

Master Node

Manages Pods on all Worker and Master nodes


Abstraction ontop of a docker container. Creates running environment. Abstracting away the runtime/technology ( replace docker/containerd etc ) expect pods to be ephemeral.


each pod gets a virtual ip / internal ip. on the base of pods being ephemeral use dns within the code. Service is running on it’s own not part of Pod Acts similar to Load Balancer in front of Pod

External Service

a service that opens communication from external sources ( frontend vms ).

Internal Service

for communication between services interally


preferec production communication from the outside world that are reaching pods via services.


contains confiruation data like POSTGRESQL_USER=postgres Pods read from configMap. this is ideal for config updates without having to build a new image and redeploy.


similar to ConfigMap base64 encoded

echo -n 'topsecret' | base64

for storing passwords


Pods being ephemeral you want your data persistent, by using volumes Volumes are local or remote storage devices.


clones of pods running on different Worker Nodes.


an abstraction layer that defines the creation of pods but also includes replication for convenient scaling/updates. this way you can run containers on multiple workers improving the overall uptime.

Stateful pods such as databases are not managed via deployments.


Similar to Deployment but this is used for stateful pods ( postgresql/redis/mongodb/mysql … )