Allocation d'adresses IP persistantes StatefulSet

Vous pouvez spécifier une plage d'adresses IP pour un StatefulSet avec l'annotation
ncp/ip_range
. NCP alloue des adresses IP persistantes de la plage aux espaces du StatefulSet en fonction des sous-réseaux de l'espace de noms.
Cette fonctionnalité n'est prise en charge qu'en mode de stratégie. Pour activer cette fonctionnalité, définissez
statefulset_ip_range
sur
True
dans la section
[K8s]
de
ncp.ini
. La valeur par défaut est 
False
. Une fois défini sur
True
, vous ne devez pas le définir de nouveau sur
False
.
Exemple de spécification de l'annotation
ncp/ip_range
 :
apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: selector: matchLabels: app: nginx # has to match .spec.template.metadata.labels serviceName: "nginx" replicas: 3 # by default is 1 template: metadata: labels: app: nginx # has to match .spec.selector.matchLabels annotations: ncp/ip_range: 192.168.0.10-192.168.0.50 spec: ...
Si une erreur se produit lorsque NCP vérifie la plage d'adresses IP ou alloue une adresse à partir de la plage, le StatefulSet sera annoté avec
ncp/error.ip_range:<error>
. Les erreurs possibles sont :
  • INVALID_IP_RANGE : la plage d'adresses IP ne se trouve pas dans l'un des sous-réseaux des espaces de noms, elle se trouve dans plusieurs sous-réseaux ou un espace existant utilise déjà une adresse IP dans la plage.
  • IP_RANGE_EXHAUSTED : ncp ne peut pas allouer une adresse IP à partir de la plage, car toutes les adresses ont été allouées.