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.