Persistente IP-Zuteilung für StatefulSet

Sie können einen IP-Adressbereich für ein StatefulSet mit der Anmerkung
ncp/ip_range
angeben. NCP teilt persistente IP-Adressen aus dem Bereich den Pods im StatefulSet basierend auf den Subnetzen des Namespace zu.
Diese Funktion wird nur im Richtlinienmodus unterstützt. Um diese Funktion zu aktivieren, legen Sie in
ncp.ini
im Abschnitt
[K8s]
den Wert von
statefulset_ip_range
auf
True
fest. Die Standardeinstellung ist
False
. Sobald diese Option auf
True
festgelegt ist, dürfen Sie sie nicht wieder auf
False
setzen.
Ein Beispiel für die Angabe der Anmerkung
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: ...
Wenn ein Fehler auftritt, wenn NCP den IP-Bereich prüft oder eine Adresse aus dem Bereich zuteilt, wird das StatefulSet mit
ncp/error.ip_range:<error>
versehen. Dies sind die möglichen Fehler:
  • INVALID_IP_RANGE – Der IP-Bereich befindet sich nicht im Subnetz des Namespaces bzw. in mehr als einem Subnetz oder ein vorhandener Pod verwendet bereits eine IP-Adresse in dem Bereich.
  • IP_RANGE_EXHAUSTED – ncp kann keine IP-Adresse aus dem Bereich zuteilen, da alle Adressen zugeteilt wurden.