2.6.2. 内部および外部クライアントからのブローカーへの接続
-
内部クライアントは <Pod
Name>:<AcceptorPortNumber> 形式でアドレスを指定してブローカー Pod に接続できます。OpenShift DNS は、Operator ベースのブローカーデプロイメントによって作成されたステートフルセットが安定した Pod 名を提供するため、この形式でアドレスが正常に解決されます。 外部クライアントにアクセプターを公開すると、専用のサービスとルートが自動的に作成されます。指定のブローカー Pod で設定された Routes を表示するには、OpenShift Container Platform Web コンソールの Pod を選択し、Routes タブをクリックします。外部クライアントは、アクセプター用に作成された Route の完全なホスト名を指定して、ブローカーに接続できます。
curlコマンドを使用して、この完全なホスト名への外部アクセスをテストできます。以下に例を示します。$ curl https://ex-aao-0-svc-my_project.my_openshift_domainRoute の完全なホスト名は、OpenShift ルーターをホストするノードに解決する必要があります。OpenShift ルーターは、ホスト名を使用して、OpenShift 内部ネットワーク内のトラフィックを送信する場所を判別します。
デフォルトでは、OpenShift ルーターは、セキュアでないトラフィック (SSL 以外) トラフィックとポート 443 (SSL で暗号化した) トラフィックに対してポート 80 をリッスンします。HTTP 接続の場合、ルーターはセキュアな接続 URL (
https) を指定する場合 (https) またはポート 80 を指定する場合は、トラフィックをポート 443 に自動的に転送します。一方、TCP を使用するメッセージングクライアントは、接続 URL の一部としてポート番号を明示的に指定する必要があります。以下に例を示します。
tcp://ex-aao-0-svc-my_project.my_openshift_domain:443-
ルートを使用する代わりに、OpenShift 管理者は NodePort を OpenShift 外部のクライアントからブローカー Pod に接続するように設定できます。NodePort は、ブローカーに設定されたアクセプターによって指定されるプロトコル固有のポートのいずれかにマップする必要があります。デフォルトで、NodePort は 30000 から 32767 の範囲に置かれます。つまり、NodePort はブローカー Pod の意図されるポートとは一致しません。OpenShiftの外部のクライアントからNodePortを介してブローカーに接続するには、URIを <
Protocol>://<OCPNodeIP>:<NodePortNumber> の形式で指定します。
関連情報
クラスターで実行されているサービスを使って OpenShift クラスター外からの通信を行うために Routes および NodePort などの方法についての詳細は、以下を参照してください。
- ingress クラスタートラフィックの設定の概要 (OpenShift Container Platform 4.1 以降)
- クラスターへのトラフィックの送信 (OpenShift Container Platform 3.11)