Introduction
Vous avez déjà appris les composants de base d'un cluster Kubernetes. Dans cette leçon, vous allez découvrir les objets Kubernetes et comment ils fonctionnent ensemble.
Que sont les objets Kubernetes ?
Les objets Kubernetes sont des entités qui sont rendues persistantes dans le cluster Kubernetes. Plus précisément, elles sont conservées dans le stockage à valeur clé etcd. Les objets Kubernetes peuvent représenter un large éventail de ressources différentes, telles que les modules, les services, les déploiements, etc.
Ces objets sont définis à l'aide du format YAML ou JSON et peuvent être gérés à l'aide de l'API Kubernetes RESTful, qui est exposée par le composant kube-apiserver du plan de contrôle Kubernetes. Cela signifie que vous pouvez créer, mettre à jour, supprimer et interroger des objets à l'aide de l'API.
Voici un exemple de demande d'extraction d'informations sur un objet Pod :
1GET https://<kubernetes-cluster>.com/api/v1/namespaces/<namespace>/pods/<pod-name>Chaque objet Kubernetes est défini dans un fichier de configuration au format YAML ou JSON. Le fichier de configuration contient la spécification de l'objet de manière déclarative. Cela vous permet de définir l'état souhaité de l'objet. Kubernetes vérifie alors de façon permanente si l'état réel de l'objet correspond à l'état souhaité. Si ce n'est pas le cas, Kubernetes tente de faire correspondre l'état réel à l'état souhaité. C'est ce que l'on appelle la boucle de rapprochement.
Un objet Kubernetes Pod simple est déclaré comme suit :
12345678apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx:1.21.3Découvrons les différentes parties de l'objet Pod :
- La zone apiVersion indique la version de l'API Kubernetes utilisée pour définir l'objet. Chaque objet peut avoir différentes versions d'API.
- Le champ kind indique le type de l'objet Kubernetes.
- La zone de métadonnées contient les métadonnées de l'objet.
- La zone Spécification contient la spécification de l'objet. La zone de spécification est différente pour chaque type d'objet. Par exemple, la zone Spécification d'un objet Pod contient la spécification des conteneurs qui font partie du pod.
Il s'agit des zones obligatoires d'un objet Kubernetes. Cependant, vous pouvez également ajouter des zones supplémentaires à l'objet.
L'objet décrit ci-dessus crée un Pod portant le nom my-pod qui contient un seul conteneur portant le nom my-container. Le conteneur utilise l'image nginx dans la version 1.21.3.



