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.