Kube-ApiServer
El comando kubectl conversa con el Kube-APIServer y nada más. También podríamos invocar las APIs directamente con un comando POST sin el uso de kubectl, aunque poco utilizado es perfectamente posible.
El Kube-APIServer está en el centro de todas las actualizaciones del cluster.
- Hace la autenticación del usuario.
- Valida la solicitud.
- Recupera los datos.
- Actualiza el ETCD (único que interactúa con ETCD).
- Kube-Controller-Manager, Kube-Scheduler y Kubelet utilizan el Kube-APIServer para hacer actualizaciones en el cluster en sus respectivas áreas.
El Kube-APIServer, al igual que todos los componentes de Kubernetes, está disponible como binario.
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#client-binaries
Todos los componentes del cluster Kubernetes necesitan saber dónde están los otros componentes. Existen diferentes métodos de autenticación, autorización, cifrado y seguridad. Por eso existen tantas opciones de configuraciones para estos binarios.

Los parámetros pasados al Kube-APIServer dependen de cómo fue montado el cluster. Si se usa una herramienta kubeadm para inicializar el cluster, el Kube-APIServer subirá como un pod estático en el namespace kube-system. Usando otro método podría ser diferente, como por ejemplo subir como servicio de systemd en los nodos maestros.


