Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

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 を割り当てるには、以下を実行します。

  1. 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

  2. Pod に LoadBalancer サービスを作成します。

    $ oc create -f loadbalancer.yaml
  3. 外部 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