3.2.3. NodePort サービス
公開するサービスが HTTP ベースではない場合には、NodePort サービスを作成できます。この場合、各 OpenShift ノードは、そのポートをサービスにプロキシーします。CDK 仮想マシンでこのポートにアクセスするには、type=LoadBalancer
パラメーターで oc expose
を使用して Ingress IP を設定する必要があります。
Ingress IP Self-Service の一般的なユースケースは、データベースサービスを公開する機能です。CDK を使用して MariaDB インスタンスを作成および公開する完全なワークフローの例を以下に示します。
$ minishift start $ eval $(minishift oc-env) $ oc new-app -e MYSQL_ROOT_PASSWORD=admin https://raw.githubusercontent.com/openshift/origin/master/examples/db-templates/mariadb-persistent-template.json $ oc rollout status -w dc/mariadb $ oc expose dc mariadb --type=LoadBalancer --name=mariadb-ingress $ oc export svc mariadb-ingress .... ports: - nodePort: 30907 ....
サービスが公開されると、CDK 仮想マシン IP および公開された NodePort サービスを使用して、CLI の mysql
で MariaDB にアクセスできます。
$ mysql --user=root --password=admin --host=$(minishift ip) --port=30907