Référence des manifestes de node pool
Un manifeste de node pool est un manifeste Kubernetes appliqué à un ensemble de worker nodes.
Manifeste de node pool
Pour créer un manifeste de node pool, vous devez créer un fichier YAML en suivant cette syntaxe :
apiVersion: oks.dev/v1beta2
kind: NodePool
metadata:
name: application-pool2-a
spec:
desiredNodes: 2
nodeType: tinav6.c2r4p2
zones:
- eu-west-2a
upgradeStrategy:
maxUnavailable: 1
maxSurge: 0
autoUpgradeEnabled: true
autoUpgradeMaintenance:
durationHours: 1
startHour: 12
weekDay: Tue
autoHealing: true
Manifeste de volumes
Vous pouvez spécifier des volumes pour vos worker nodes, sous la section volume
du manifeste de node pool.
Si les volumes sont valides, ils seront créés avec la VM pour chaque worker node géré par le node pool, et montés dans le système. Un système de fichiers sera créé sur les volumes. Si les volumes ne sont pas valides, une erreur se produit, et aucune VM ne sera créée.
Ce paramètre est limité par votre offre OKS actuelle et les quotas de votre compte OUTSCALE. |
Dans cet exemple, nous ajoutons un volume gp2 dédié de 300 Gio à utiliser comme volume Longhorn. Ce volume synchronise les données distribuées entre les nœuds du cluster, quelle que soit leur Sous-région, et stocke les données de l’application :
...
spec:
volumes:
- size: 300
type: "gp2"
dir: "/var/lib/longhorn"
Vous pouvez utiliser un petit volume standard dédié pour Filebeat :
...
spec:
volumes:
- device: xvdl
size: 2
type: "standard"
dir: /var/spool/filebeat
Vous pouvez améliorer les performances de démarrage de vos pods en utilisant le disque du worker node avec io1 3000 IOPS :
...
spec:
volumes:
- device: root
size: 100
iops: 3000
type: "io1"
Ou en plaçant les données relatives à Kubernetes sur un volume rapide dédié :
...
spec:
volumes:
- device: xvdl
size: 100
iops: 3000
type: "io1"
dir: /var/lib/kubelet
Ce fichier contient les options suivantes que vous devez spécifier :
-
(optionnel)
device
: L’appareil/dev/XXX
dans lequel vous voulez placer le volume. Les valeurs possibles sont soitroot
,xvdX
ouxvdXY
, oùX
est une lettre entreb
etz
, etY
est une lettre entrea
etz
. Si elle n’est pas spécifiée, elle est générée automatiquement. -
type
: Le type de volume, parmi les types de volumes pris en charge par OUTSCALE. Les valeurs possibles sontstandard
(le type par défaut),gp2
ouio1
. -
size
: La taille du volume, en gibioctets (Gio). Ce paramètre est requis et est fixé à 100 par défaut pour le volumeroot
. -
(optionnel)
iops
: Le nombre d’opérations I/O (IOPS) par seconde. Vous devez spécifier ce paramètre uniquement lorsque vous créez un volume io1. Le nombre maximal d’IOPS autorisé pour les volumes io1 est 13000 avec un ratio de performance maximum de 300 IOPS par gibioctet. -
dir
: Le chemin de montage pour le volume. Il n’est pas applicable aux volumes root, mais il est requis pour les autres types de volumes.
Pour en savoir plus sur les types de volumes et leurs paramètres, voir À propos des volumes > Types de volumes et IOPS.
Manifeste de zones
Vous pouvez spécifier plusieurs zones pour vos worker nodes pour une plus haute disponibilité, sous la section zones
du manifeste de node pool.
Dans le cas où plusieurs zones ont été spécifiées, le paramètre desiredNodes
contrôle la création de VM pour chaque zone spécifiée.
...
spec:
zones:
- eu-west-2a
- eu-west-2b
...
Manifeste d’emplacement physique
Les node pools supportent des options d’emplacement physique. Ces options ne sont pas strictes et sont mutuellement exclusives. Elles sont listées dans le tableau ci-dessous.
Option | Description |
---|---|
|
Place les nœuds avec la même valeur sur différents serveurs. |
|
Place les nœuds avec la même valeur sur le même serveur. |
|
Place les nœuds avec la même valeur sur différents clusters Cisco UCS. |
|
Place les nœuds avec la même valeur sur le même cluster Cisco UCS. |
Le fichier YAML doit suivre la syntaxe suivante :
...
spec:
physicalPlacement:
nodeRepulseServer: application_2
...
Manifeste d’auto-réparation
L’auto-réparation (option autoHealing
) contrôle la gestion des nœuds NotReady
.
-
Si
true
, la VM sera redémarrée de force 5 minutes après le dernier battement de cœur (heartbeat) du nœud. Si le nœud n’est pas dans l’étatready
5 minutes après le redémarrage, il est remplacé. -
Si
false
, aucune action automatique n’est prise.
Manifeste de stratégie de mise à niveau
Vous pouvez contrôler le comportement des worker nodes en cas de changements de paramètres qui influencent le type, les volumes et l’emplacement des VM, dans la section upgradeStrategy
du manifeste de node pool.
Le paramètre upgradeStrategy
a la même fonction que la ressource ReplicaSet
. La valeur par défaut pour les deux paramètres est de 25 %.
...
spec:
upgradeStrategy:
maxUnavailable: 1
maxSurge: 0
Manifeste de support GPU
Les node pools permettent aux worker nodes d’allouer, attacher, et utiliser des flexible GPU. Actuellement, OKS permet d’attacher 1 GPU par nœud. Pour en savoir plus sur les GPU, voir À propos des flexible GPU.
La version actuelle du pilote CUDA utilisé avec les GPU est |
Vous pouvez configurer le support GPU sous la section volume
du manifeste de node pool.
spec:
fgpu:
model: "nvidia-p6"
k8s-operator: true
Ce fichier contient les options suivantes que vous devez spécifier :
-
model
: Le modèle GPU à allouer. -
k8s-operator
: L’opérateur GPU officiel de NVIDIA dans le namespacegpu-operator
. La suppression du node pool ne désinstalle pas l’opérateur.
Pages connexes