您可以使用 ncp/ip_range 註解,來指定 StatefulSet 的 IP 位址範圍。NCP 會根據命名空間的子網路,將該範圍中的持續性 IP 位址配置給 StatefulSet 中的網繭。
僅在原則模式下支援此功能。若要啟用此功能,請在 ncp.ini 的 [K8s] 區段中,將 statefulset_ip_range 設定為 True。預設值為 False。設定為 True 後,不得將其設定回 False。
以下是指定
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: ...
當 NCP 檢查 IP 範圍或配置該範圍中的位址時,如果發生錯誤,則會使用
ncp/error.ip_range:<error> 為 StatefulSet 加上註解。可能的錯誤如下:
- INVALID_IP_RANGE - 該 IP 範圍不在命名空間的任何子網路中,該 IP 範圍位於多個子網路中,或者現有網繭已使用該範圍中的 IP 位址。
- IP_RANGE_EXHAUSTED - NCP 無法配置該範圍中的 IP 位址,因為所有位址都已配置。