La API de Kubernetes

La API de Kubernetes te permite consultar y manipular el estado de los objetos en Kubernetes. El núcleo del plano de control de Kubernetes es el servidor API y la API HTTP que expone.

Funcionamiento básico

Usuarios, las diferentes partes de tu clúster y componentes externos se comunican entre sí a través del servidor API. La API de Kubernetes te permite consultar y manipular el estado de objetos API en Kubernetes (por ejemplo: Pods, Namespaces, ConfigMaps y Events).

Acceso a la API

La mayoría de las operaciones se pueden realizar a través de:

Especificaciones de la API

Cada clúster de Kubernetes publica la especificación de las APIs que sirve. Kubernetes usa dos mecanismos para publicar estas especificaciones:

Discovery API

Proporciona información sobre las APIs de Kubernetes: nombres de API, recursos, versiones y operaciones soportadas.

Documento OpenAPI de Kubernetes

Proporciona esquemas OpenAPI v2.0 y 3.0 para todos los endpoints de la API de Kubernetes. OpenAPI v3 es el método preferido.

Descubrimiento Agregado (Aggregated Discovery)

ESTADO DE LA FUNCIÓN: Kubernetes v1.30 [estable] (habilitado por defecto: true)

Kubernetes ofrece soporte estable para el descubrimiento agregado, publicando todos los recursos soportados por un clúster a través de dos endpoints (/api y /apis).

Serialización Protobuf

Kubernetes implementa un formato de serialización basado en Protobuf principalmente para comunicación intra-clúster. Para más información, consulta la propuesta de diseño.

Persistencia

Kubernetes almacena el estado serializado de los objetos escribiéndolos en etcd.

Grupos y versionamiento de API

Para facilitar la eliminación de campos o la reestructuración de representaciones de recursos, Kubernetes admite múltiples versiones de API, cada una en una ruta API diferente.

Nota importante

Kubernetes mantiene compatibilidad con datos persistidos a través de versiones beta de APIs oficiales de Kubernetes, y asegura que los datos puedan convertirse y accederse a través de versiones GA de API cuando la función se estabiliza.

Cambios en la API

El proyecto Kubernetes tiene como objetivo no romper la compatibilidad con los clientes existentes. La eliminación de recursos o campos requiere seguir la política de desaprobación de API.

Extensión de la API

La API de Kubernetes se puede extender de dos maneras:

  1. Recursos personalizados
  2. Implementando una capa de agregación

Qué sigue