28.9. ロードバランサーの許可された送信元範囲を使用した Ingress クラスタートラフィックの設定
IngressController の IP アドレス範囲の一覧を指定できます。endpointPublishingStrategy が LoadBalancerService の場合、これにより、ロードバランサーサービスへのアクセスが制限されます。
28.9.1. ロードバランサーの許可されるソース範囲の設定 リンクのコピーリンクがクリップボードにコピーされました!
spec.endpointPublishingStrategy.loadBalancer.allowedSourceRanges フィールドを有効にして設定できます。ロードバランサーの許可されるソース範囲を設定することで、Ingress Controller のロードバランサーへのアクセスを、指定した IP アドレス範囲のリストに制限できます。Ingress Operator はロードバランサー Service を調整し、AllowedSourceRanges に基づいて spec.loadBalancerSourceRanges フィールドを設定します。
以前のバージョンの OpenShift Container Platform で spec.loadBalancerSourceRanges フィールドまたはロードバランサーサービスアノテーション service.beta.kubernetes.io/load-balancer-source-ranges をすでに設定している場合、Ingress Controller はアップグレード後に Progressing=True のレポートを開始します。これを修正するには、spec.loadBalancerSourceRanges フィールドを上書きし、service.beta.kubernetes.io/load-balancer-source-ranges アノテーションをクリアする AllowedSourceRanges を設定します。Ingress Controller は、再び Progressing=False の報告を開始します。
前提条件
- 実行中のクラスターにデプロイされた Ingress Controller があります。
手順
次のコマンドを実行して、Ingress Controller の許可されるソース範囲 API を設定します。
oc -n openshift-ingress-operator patch ingresscontroller/default \ --type=merge --patch='{"spec":{"endpointPublishingStrategy": \ {"type":"LoadBalancerService", "loadbalancer": \ {"scope":"External", "allowedSourceRanges":["0.0.0.0/0"]}}}}'$ oc -n openshift-ingress-operator patch ingresscontroller/default \ --type=merge --patch='{"spec":{"endpointPublishingStrategy": \ {"type":"LoadBalancerService", "loadbalancer": \ {"scope":"External", "allowedSourceRanges":["0.0.0.0/0"]}}}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 例の値
0.0.0.0/0は、許可されるソース範囲を指定します。
28.9.2. ロードバランサーの許可されたソース範囲への移行 リンクのコピーリンクがクリップボードにコピーされました!
注釈 service.beta.kubernetes.io/load-balancer-source-ranges をすでに設定している場合は、ロードバランサーの許可されたソース範囲に移行できます。AllowedSourceRanges を設定すると、Ingress Controller は AllowedSourceRanges 値に基づいて spec.loadBalancerSourceRanges フィールドを設定し、service.beta.kubernetes.io/load-balancer-source-ranges アノテーションを設定解除します。
以前のバージョンの OpenShift Container Platform で spec.loadBalancerSourceRanges フィールドまたはロードバランサーサービスアノテーション service.beta.kubernetes.io/load-balancer-source-ranges をすでに設定している場合、Ingress Controller はアップグレード後に Progressing=True のレポートを開始します。これを修正するには、spec.loadBalancerSourceRanges フィールドを上書きし、service.beta.kubernetes.io/load-balancer-source-ranges アノテーションをクリアする AllowedSourceRanges を設定します。Ingress Controller は再び Progressing=False の報告を開始します。
前提条件
-
service.beta.kubernetes.io/load-balancer-source-rangesアノテーションを設定しました。
手順
service.beta.kubernetes.io/load-balancer-source-rangesが設定されていることを確認します。oc get svc router-default -n openshift-ingress -o yaml
$ oc get svc router-default -n openshift-ingress -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/load-balancer-source-ranges: 192.168.0.1/32apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/load-balancer-source-ranges: 192.168.0.1/32Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec.loadBalancerSourceRangesフィールドが設定されていないことを確認します。oc get svc router-default -n openshift-ingress -o yaml
$ oc get svc router-default -n openshift-ingress -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
... spec: loadBalancerSourceRanges: - 0.0.0.0/0 ...
... spec: loadBalancerSourceRanges: - 0.0.0.0/0 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - クラスターを OpenShift Container Platform 4.13 に更新します。
次のコマンドを実行して、
ingresscontrollerの許可されるソース範囲 API を設定します。oc -n openshift-ingress-operator patch ingresscontroller/default \ --type=merge --patch='{"spec":{"endpointPublishingStrategy": \ {"loadBalancer":{"allowedSourceRanges":["0.0.0.0/0"]}}}}'$ oc -n openshift-ingress-operator patch ingresscontroller/default \ --type=merge --patch='{"spec":{"endpointPublishingStrategy": \ {"loadBalancer":{"allowedSourceRanges":["0.0.0.0/0"]}}}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 例の値
0.0.0.0/0は、許可されるソース範囲を指定します。