Chapitre 2. En travaillant avec des gousses


2.1. En utilisant des gousses

Le pod est un ou plusieurs conteneurs déployés ensemble sur un hôte, et la plus petite unité de calcul pouvant être définie, déployée et gérée.

2.1.1. Comprendre les gousses

Les gousses sont l’équivalent brut d’une instance de machine (physique ou virtuelle) à un conteneur. Chaque pod se voit attribuer sa propre adresse IP interne, possédant ainsi l’ensemble de son espace portuaire, et les conteneurs à l’intérieur des pods peuvent partager leur stockage et leur réseau local.

Les gousses ont un cycle de vie; ils sont définis, puis ils sont assignés à courir sur un nœud, puis ils courent jusqu’à la sortie de leur(s) conteneur(s) ou ils sont retirés pour une autre raison. Les pods, en fonction de la politique et du code de sortie, peuvent être supprimés après la sortie, ou peuvent être conservés pour permettre l’accès aux journaux de leurs conteneurs.

Le Red Hat OpenShift Service sur AWS traite les pods comme en grande partie immuables; les modifications ne peuvent pas être apportées à une définition de pod pendant qu’elle est en cours d’exécution. Le service OpenShift Red Hat sur AWS implémente les modifications en mettant fin à un pod existant et en le recréant avec une configuration modifiée, une image de base ou les deux. Les gousses sont également traitées comme consommables, et ne maintiennent pas l’état lorsqu’elles sont recréées. Les pods doivent donc généralement être gérés par des contrôleurs de niveau supérieur, plutôt que directement par les utilisateurs.

Avertissement

Les gousses nues qui ne sont pas gérées par un contrôleur de réplication ne seront pas reprogrammées lors de la perturbation du nœud.

2.1.2. Exemples de configurations de pod

Le service OpenShift Red Hat sur AWS exploite le concept Kubernetes d’un pod, qui est un ou plusieurs conteneurs déployés ensemble sur un hôte, et la plus petite unité de calcul pouvant être définie, déployée et gérée.

Ce qui suit est une définition d’exemple d’un pod. Il présente de nombreuses caractéristiques des pods, dont la plupart sont discutées dans d’autres sujets et donc brièvement mentionnées ici:

Définition d’objet pod (YAML)

kind: Pod
apiVersion: v1
metadata:
  name: example
  labels:
    environment: production
    app: abc 
1

spec:
  restartPolicy: Always 
2

  securityContext: 
3

    runAsNonRoot: true
    seccompProfile:
      type: RuntimeDefault
  containers: 
4

    - name: abc
      args:
      - sleep
      - "1000000"
      volumeMounts: 
5

       - name: cache-volume
         mountPath: /cache 
6

      image: registry.access.redhat.com/ubi7/ubi-init:latest 
7

      securityContext:
        allowPrivilegeEscalation: false
        runAsNonRoot: true
        capabilities:
          drop: ["ALL"]
      resources:
        limits:
          memory: "100Mi"
          cpu: "1"
        requests:
          memory: "100Mi"
          cpu: "1"
  volumes: 
8

  - name: cache-volume
    emptyDir:
      sizeLimit: 500Mi
Copy to Clipboard

1
Les pods peuvent être "étiquetés" avec une ou plusieurs étiquettes, qui peuvent ensuite être utilisées pour sélectionner et gérer des groupes de pods en une seule opération. Les étiquettes sont stockées au format clé/valeur dans le hachage des métadonnées.
2
Le pod redémarre la politique avec des valeurs possibles Toujours, OnFailure et jamais. La valeur par défaut est Toujours.
3
Le service OpenShift Red Hat sur AWS définit un contexte de sécurité pour les conteneurs qui spécifie s’ils sont autorisés à fonctionner en tant que conteneurs privilégiés, exécutés en tant qu’utilisateur de leur choix, et plus encore. Le contexte par défaut est très restrictif, mais les administrateurs peuvent le modifier au besoin.
4
les conteneurs spécifient un tableau d’une ou plusieurs définitions de conteneurs.
5
Le conteneur spécifie l’endroit où les volumes de stockage externes sont montés à l’intérieur du conteneur.
6
Indiquez les volumes à prévoir pour le pod. Les volumes montent sur le chemin spécifié. Il ne faut pas monter sur la racine du conteneur, /, ou tout chemin qui est le même dans l’hôte et le conteneur. Cela peut corrompre votre système hôte si le conteneur est suffisamment privilégié, comme les fichiers hôte /dev/pts. Il est sûr de monter l’hôte en utilisant /host.
7
Chaque conteneur dans la gousse est instancié à partir de sa propre image de conteneur.
8
La gousse définit les volumes de stockage qui sont à la disposition de son(s) conteneur(s) à utiliser.

Lorsque vous attachez des volumes persistants qui ont un nombre élevé de fichiers à des pods, ces gousses peuvent échouer ou peuvent prendre beaucoup de temps pour démarrer. Lorsque vous utilisez des volumes persistants avec des nombres de fichiers élevés dans OpenShift, pourquoi les pods ne commencent-ils pas ou prennent-ils trop de temps pour atteindre l’état « Ready »?

Note

Cette définition de pod n’inclut pas les attributs qui sont remplis par Red Hat OpenShift Service sur AWS automatiquement après la création du pod et son cycle de vie commence. La documentation du pod Kubernetes contient des détails sur la fonctionnalité et le but des pods.

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat