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.