6 votes

Dans Kubernetes, comment définir les noms des pods lors de l'utilisation de contrôleurs de réplication ?

J'ai un fichier yaml de contrôleur de réplication simple qui ressemble à ceci :

apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    app: nginx
  template:
    spec:
      containers:
      - image: library/nginx:3.2
        imagePullPolicy: IfNotPresent
        name: nginx
        ports:
        - containerPort: 80
    metadata:
      labels:
        app: nginx

Et après avoir exécuté ce contrôleur de réplication, j'obtiendrai 3 pods différents dont les noms sont "nginx-xxx", où "xxx" représente une chaîne aléatoire de lettres et de chiffres.

Ce que je veux, c'est spécifier des noms pour les pods créés par le contrôleur de réplication, de sorte que le nom des pods puisse être "nginx-01", "nginx-02", "nginx-03". De plus, si le pod "nginx-02" est hors service pour une raison quelconque, le contrôleur de réplication créera automatiquement un autre pod nginx, et je veux que le nom de ce nouveau pod reste "nginx-02".

Je me demande si cela est possible ? Merci d'avance.

4voto

Anirudh Ramanathan Points 25113

Si vous exécutez des charges de travail sans état, je ne vois pas pourquoi vous voudriez avoir des identités fixes associées à chaque objet si votre intention est d'exécuter N répliques d'un pod particulier.

Il n'y a aucun moyen de le faire en utilisant un ReplicaSet/ReplicationController. Lorsque le contrôleur crée de nouveaux pods, un suffixe de nom généré sera ajouté après le nom du pod.

Si c'est ce que l'on veut vraiment (identité fixe/indice ordinal), la propriété est satisfaite par la fonction Ressource PetSet qui est en version alpha à partir de Kubernetes v1.4. Cependant, il s'accompagne de garanties supplémentaires dont vous n'avez probablement pas besoin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X