15.4.5. IP アドレスのサービスへの割り当て
外部 IP アドレスをサービスに割り当てるには、以下を実行します。
- OpenShift Container Platform にログインします。
- 公開するサービスが置かれているプロジェクトを読み込みます。プロジェクトまたはサービスが存在しない場合は、前提条件にある プロジェクトおよびサービスの作成 を参照してください。
以下のコマンドを実行して、アクセスするサービスに外部 IP アドレスを割り当てます。外部 IP アドレス範囲 の IP アドレスを使用します。
$ oc patch svc <name> -p '{"spec":{"externalIPs":["<ip_address>"]}}'
<name>
はサービスの名前であり、-p
はサービス JSON ファイルに適用されるパッチを示しています。括弧内の式は特定の IP アドレスを指定されたサービスに割り当てます。以下に例を示します。
$ oc patch svc mysql-55-rhel7 -p '{"spec":{"externalIPs":["192.174.120.10"]}}' "mysql-55-rhel7" patched
以下のコマンドを実行してサービスにパブリック IP があることを確認します。
$ oc get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE mysql-55-rhel7 172.30.131.89 192.174.120.10 3306/TCP 13m
マスターで cURL などのツールを使用し、パブリック IP アドレスを使用してサービスに到達できることを確認します。
$ curl <public_ip>:<port>
以下に例を示します。
$ curl 192.168.120.10:3306
Got packets out of order
のメッセージと共に文字ストリングを取得する場合は、このサービスに接続されていることになります。MySQL クライアントがある場合は、標準 CLI コマンドでログインします。
$ mysql -h 192.168.120.10 -u admin -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. MySQL [(none)]>