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.