¿Qué son los Recursos API en Kubernetes?
Cuando hablamos de Recursos API para Cargas de Trabajo (Workloads) en Kubernetes, nos referimos a los recursos que interactúan con la API RESTful de Kubernetes. Esta API es el núcleo que gestiona todo en el clúster de Kubernetes, permitiendo a los usuarios, aplicaciones, y controladores internos realizar acciones sobre los componentes de Kubernetes a través de solicitudes HTTP.
Los Recursos API son las entidades que defines y administras en Kubernetes para gestionar y orquestar las aplicaciones y servicios. Ejemplos de estos recursos API incluyen Pods, Deployments, ReplicaSets, Services, Ingress, entre otros. Estos recursos son gestionados mediante interacciones con la API RESTful de Kubernetes a través de comandos como kubectl
o directamente enviando solicitudes HTTP al servidor API.
Por qué se llaman Recursos API
El término "Recursos API" hace referencia a:
RESTful API: Kubernetes utiliza un modelo RESTful, donde los recursos son accesibles mediante un conjunto de operaciones estándar como
GET
,POST
,PUT
, yDELETE
. Cada recurso tiene una URI (Uniform Resource Identifier), que es la dirección donde puede ser consultado o modificado.Interacción con la API: Cada vez que creas, actualizas, o consultas un recurso como un Deployment, estás interactuando con la API de Kubernetes. Por ejemplo, cuando ejecutas
kubectl apply -f deployment.yaml
, kubectl realiza una solicitud HTTP a la API de Kubernetes, que gestiona la operación sobre ese recurso.
Ejemplo de Interacción con la API
Supón que creas un pod usando el siguiente manifiesto YAML:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: nginx-container
image: nginx
Cuando ejecutas:
kubectl apply -f pod.yaml
El comando kubectl
traduce esta acción en una solicitud POST
a la API de Kubernetes. El servidor API toma el manifiesto y lo convierte en un recurso administrado por el clúster.
Recursos API Comunes para Cargas de Trabajo
Algunos de los recursos API más comunes para administrar cargas de trabajo incluyen:
- Pods: La unidad mínima de ejecución en Kubernetes.
- Deployments: Gestionan la actualización y escalabilidad de Pods.
- ReplicaSets: Aseguran que un número específico de Pods esté corriendo.
- DaemonSets: Aseguran que un Pod se ejecute en cada nodo del clúster.
- StatefulSets: Se usan para aplicaciones que requieren mantener el estado.
Cada uno de estos recursos tiene un conjunto de operaciones que se pueden realizar a través de la API RESTful.
Más información aquí: Gestión de Cargas de Trabajo en Kubernetes. Bloque 2. Tema 2.1 del CKA.
Comentarios
Publicar un comentario