Kubernetes configuration
Kubernetes exposes an entry point to handle the cluster, handling by the api-controller
We send a yaml
or json
with the deployment descriptor to the api-controller
to say to kubernetes how many pods we want to deploy
The control-loop
looks for current status is the same as the required status to achieve it
kubernetes configuration process: api-controller & etcd
The kubernetes current status is saved/handled with the etcd
So when a new deployement
comes, the control-loop
try to achieve the new requirements, but it has to see the current status of the deployment to compare both. To do that, the control-loop
asks the etcd
service for the current deployment
.
k8 Production Cluster vs Minikube (k8 local installation)
A typical Production Cluster
setup:
- Multiple Master and Worker nodes
- Separate virtual or physical machines
But in a local machine maybe is not possible, because we need a lot of resources.
Minikube is an open source that runs Master and Node processes on ONE machine. So we can test in local the deployments
and so on.
minikube installations
follow the instructions here: - https://minikube.sigs.k8s.io/docs/start/
minikube is an image that runs over docker. Inside minikube, the pods can be executed in docker too. So is docker in docker
Kubectl
Kubectl
is a command line tool for handling K8s clusters calling to the api-controller
(api-server, enables interaction with cluster)