We define the resources
(e.g. computing power, network, storage space, etc...)
The services we need
We have 4 computers, some different storage units,
and we need to deploy 7 Services
We have to tell to Kubernetes (aka K8s)
the "hardware" it can use...
...then, based on the services requirements,
it will deploy and assign the resources to the services
Kubernetes will immediately reschedule the deployment of the missing services on the other available "hardware"
When we work with K8s we talk about clusters instead of machines upon which deploy services on
A cluster is a set of the machines (aka nodes), network storages, and other small things
We lose the horizontal scaling related features,
but we preserve the other ones
kube-apiserver
etcd
kube-scheduler
kube-controller-manager
kubelet
kube-proxy
Let us assume we have a configured K8s cluster
(How to deploy a cluster is a whole other course)
kube-apiserver
Generally we can locate the file/etc/kubernetes/admin.conf
on the control plate node
This file contains the administration
configuration to communicate to the cluster
This is the equivalent to logging in as root
, K8s supports granular permissions
π read more
kubectl
pacman -Syu kubectl
Copy the admin.conf
content in~/.kube/config.conf
kubectl get nodes
NAME STATUS ROLES AGE VERSION
sailor_uranus Ready control-plane,master 2h v1.23.3
sailor_neptune Ready <none> 2h v1.23.3
sailor_saturn Ready <none> 2h v1.23.3