Asignación de IP persistente de StatefulSet
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.