Skip to main content

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.

Alt text

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.

Alt text

Alt text

Alt text