주석 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 범위를 확인하거나 범위에서 주소를 할당할 때 오류가 발생하면 StatefulSet에 ncp/error.ip_range:<error> 주석이 추가됩니다. 다음과 같은 오류가 발생할 수 있습니다.
  • INVALID_IP_RANGE - IP 범위가 네임스페이스의 서브넷에 있지 않거나, 둘 이상의 서브넷에 있거나, 기존 포드가 범위의 IP 주소를 이미 사용하고 있습니다.
  • IP_RANGE_EXHAUSTED - 모든 주소가 할당되었기 때문에 ncp가 범위의 IP 주소를 할당할 수 없습니다.