주석 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 주소를 할당할 수 없습니다.