3.2. サービスの公開


3.2.1. 概要

OpenShift にデプロイした後にサービスを公開する方法は複数あります。以下のセクションでは、さまざまな方法とそれらを使用するタイミングを説明します。

3.2.2. ルート

Web アプリケーションをデプロイする場合、そのアプリケーションを公開する最も一般的な方法は ルート による方法です。ルートはサービスをホスト名として公開します。Web コンソールまたは CLI を使用してルートを作成できます。

$ oc expose svc/frontend --hostname=www.example.com

アプリケーションを作成し、これをルートで公開する完全な例は、「サンプルアプリケーションのデプロイ」セクションを参照してください。

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

3.2.4. ポート転送

3.2.4.1. oc port-forward の使用

クラスターの特定の Pod のポートにすばやくアクセスする必要がある場合は、OpenShift CLIoc port-forward コマンドを使用することもできます。

$ oc port-forward POD [LOCAL_PORT:]REMOTE_PORT

3.2.4.2. VirtualBox ツールの使用

VirtualBox ドライバープラグインを使用している場合には、ポート転送に使用する別の方法があります。この方法では、永続的なポート転送だけでなく、複数のポートを同時に転送することができます。この方法では、上記のように nodePort を設定する必要があります。

上記の例で説明する場合は、以下を行うことができます。

$ VBoxManage controlvm minishift natpf1 "mariadb,tcp,,3306,,30907"

これにより、localhost:3306 の mariadb サービスと通信できます。これは、デフォルトのポートを変更したくない場合に便利な場合があります。また、ポート転送というこの方法の重要な利点は、単一の Pod だけでなくサービスと通信できることです。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.