27.3. 固有の外部 IP を使用するようクラスターを設定する
クラウド以外のクラスターで、ingressIPNetworkCIDR
はデフォルトで 172.29.0.0/16
に設定されます。クラスター環境がこのプライベート範囲をまだ使用していない場合は、デフォルトを使用できます。ただし、異なる範囲を使用する必要がある場合は、ingress IP を割り当てる前に、/etc/origin/master/master-config.yaml ファイルで ingressIPNetworkCIDR
を設定する必要があります。次に、マスターサービスを再起動します。
LoadBalancer
タイプのサービスに割り当てられる外部 IP は常に ingressIPNetworkCIDR
の範囲にあります。ingressIPNetworkCIDR
が割り当てられた外部 IP がこの範囲内からなくなるように変更される場合、影響を受けるサービスには、新規の範囲と互換性のある新規の外部 IP が割り当てられます。
高可用性 を使用している場合、この範囲は 255 IP アドレス未満である必要があります。
/etc/origin/master/master-config.yaml のサンプル
networkConfig: ingressIPNetworkCIDR: 172.29.0.0/16
27.3.1. サービスの Ingress IP の設定
Ingress IP を割り当てるには、以下を実行します。
loadBalancerIP
設定で特定の IP を要求する LoadBalancer サービスの YAML ファイルを作成します。LoadBalancer 設定サンプル
apiVersion: v1 kind: Service metadata: name: egress-1 spec: ports: - name: db port: 3306 loadBalancerIP: 172.29.0.1 type: LoadBalancer selector: name: my-db-selector
Pod に LoadBalancer サービスを作成します。
$ oc create -f loadbalancer.yaml
外部 IP のサービスを確認します。たとえば、
myservice
という名前のサービスを確認します。$ oc get svc myservice
LoadBalancer タイプのサービスに外部 IP が割り当てられている場合、出力には IP が表示されます。
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE myservice 172.30.74.106 172.29.0.1 3306/TCP 30s