2.8. NodePort を使用した Ingress クラスタートラフィックの設定
特定のネットワーク要件を満たすためにアプリケーションへの外部アクセスを有効にするには、NodePort を使用してサービスを公開します。
この設定では、クラスター内のすべてのノードで特定のポートが開かれ、任意のノードの IP アドレスを使用して外部トラフィックがワークロードに到達できるようになります。
OpenShift Container Platform は、クラスター内で実行されるサービスを使用してクラスター外からの通信を可能にする方法を提供します。この方法は NodePort を使用します。
以下の手順を開始する前に、管理者は以下の前提条件となるタスクを完了する必要があります。
- 要求がクラスターに到達できるように、クラスターネットワーク環境に対して外部ポートをセットアップします。
- 少なくとも 1 つのコントロールプレーンノード、少なくとも 1 つのコンピュートノード、およびクラスターへのネットワークアクセスが可能なクラスター外部のシステムを備えた OpenShift Container Platform クラスターを用意してください。この手順では、外部システムがクラスターと同じサブセットにあることを前提とします。別のサブセットの外部システムに必要な追加のネットワーク設定は、このトピックでは扱いません。
クラスター管理者ロールを持つユーザーが 1 名以上いることを確認します。このロールをユーザーに追加するには、以下のコマンドを実行します。
$ oc adm policy add-cluster-role-to-user cluster-admin <user_name>
2.8.1. NodePort を使用したトラフィックのクラスターへの送信 リンクのコピーリンクがクリップボードにコピーされました!
NodePort-type Service リソースを使用して、クラスター内のすべてのノードの特定のポートでサービスを公開します。
ポートは、サービス リソースの .spec.ports[*].nodePort パラメーターで指定されます。
ノードポートを使用するには、追加のポートリソースが必要です。
NodePort は、ノードの IP アドレス上の静的ポートでサービスを公開します。NodePort は デフォルトで 30000 から 32767 までの IP アドレス範囲をカバーするため、NodePort が サービスの意図するポートと一致する可能性は低い。たとえば、ノード上ではポート 8080 が ポート 31020 として公開される可能性があります。
管理者は、外部 IP アドレスがノードにルーティングされることを確認する必要があります。
NodePort と外部 IP アドレスは独立しており、両方とも同時に使用できます。