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.
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).
La mayoría de las operaciones se pueden realizar a través de:
Cada clúster de Kubernetes publica la especificación de las APIs que sirve. Kubernetes usa dos mecanismos para publicar estas especificaciones:
Proporciona información sobre las APIs de Kubernetes: nombres de API, recursos, versiones y operaciones soportadas.
Proporciona esquemas OpenAPI v2.0 y 3.0 para todos los endpoints de la API de Kubernetes. OpenAPI v3 es el método preferido.
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
).
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.
Kubernetes almacena el estado serializado de los objetos escribiéndolos en etcd.
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.
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.
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.
La API de Kubernetes se puede extender de dos maneras: