Puede especificar un rango de direcciones IP para un StatefulSet con la anotación ncp/ip_range. NCP asignará direcciones IP persistentes dentro del rango a los pods del StatefulSet en función de las subredes del espacio de nombres.

Esta función solo se admite en el modo Directiva. Para habilitar esta función, establezca statefulset_ip_range como True en la sección [K8s] de ncp.ini. El valor predeterminado es False. Una vez establecido en True, no debe volver a establecerlo en False.

Ejemplo de especificación de la anotación 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 se produce un error cuando NCP comprueba el rango de IP o asigna una dirección del rango, StatefulSet se anotará con ncp/error.ip_range:<error>. Los posibles errores son:
  • INVALID_IP_RANGE: el rango de IP no está en ninguna de las subredes de los espacios de nombres, está en más de una subred o un pod existente ya utiliza una dirección IP en el rango.
  • IP_RANGE_EXHAUSTED: ncp no puede asignar ninguna dirección IP del rango porque ya se asignaron todas las direcciones.