第1章 ルート
1.1. 基本的なルートの作成 リンクのコピーリンクがクリップボードにコピーされました!
HTTP で暗号化されていない場合は、ルートオブジェクトで基本的なルートを作成できます。
1.1.1. HTTP ベースのルートの作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、hello-openshift アプリケーションを例に、Web アプリケーションへの簡単な HTTP ベースのルートを作成できます。
公開 URL でアプリケーションをホストするルートを作成できます。ルートは、アプリケーションのネットワークセキュリティー設定に応じて、セキュリティーで保護される場合と保護されない場合があります。HTTP ベースのルートとは、セキュアではないルートで、基本的な HTTP ルーティングプロトコルを使用してセキュリティー保護されていないアプリケーションポートでサービスを公開します。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - 管理者としてログインしている。
- あるポートを公開する Web アプリケーションと、そのポートでトラフィックをリッスンする TCP エンドポイントがあります。
手順
次のコマンドを実行して、
hello-openshiftというプロジェクトを作成します。oc new-project hello-openshift
$ oc new-project hello-openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行してプロジェクトに Pod を作成します。
oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/hello-openshift/hello-pod.json
$ oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/hello-openshift/hello-pod.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、
hello-openshiftというサービスを作成します。oc expose pod/hello-openshift
$ oc expose pod/hello-openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
hello-openshiftアプリケーションに対して、セキュアではないルートを作成します。oc expose svc hello-openshift
$ oc expose svc hello-openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
作成した
routeリソースを確認するには、次のコマンドを実行します。oc get routes -o yaml hello-openshift
$ oc get routes -o yaml hello-openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 作成したセキュアでないルートの YAML 定義の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
host-
サービスを参照するエイリアス DNS レコードを指定します。このフィールドには、
www.example.comなどの有効な DNS 名を指定できます。DNS 名は DNS952 サブドメイン規則に従う必要があります。指定しない場合は、ルート名が自動的に生成されます。 targetPortこのルートが指すサービスによって選択される Pod のターゲットポートを指定します。
注記デフォルトの Ingress ドメインを表示するには、以下のコマンドを実行します。
oc get ingresses.config/cluster -o jsonpath={.spec.domain}$ oc get ingresses.config/cluster -o jsonpath={.spec.domain}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.2. パスベースのルート リンクのコピーリンクがクリップボードにコピーされました!
パスベースのルートは、URL に対して比較できるパスコンポーネントを指定します。この場合、ルートのトラフィックは HTTP ベースである必要があります。そのため、それぞれが異なるパスを持つ同じホスト名を使用して複数のルートを提供できます。ルーターは、最も具体的なパスの順に基づいてルートと一致する必要があります。
以下の表は、ルートのサンプルおよびそれらのアクセシビリティーを示しています。
| ルート | 比較対象 | アクセス可能 |
|---|---|---|
| www.example.com/test | www.example.com/test | はい |
| www.example.com | いいえ | |
| www.example.com/test および www.example.com | www.example.com/test | はい |
| www.example.com | はい | |
| www.example.com | www.example.com/text | Yes (ルートではなく、ホストで一致) |
| www.example.com | はい |
パスが 1 つでセキュリティー保護されていないルート
- 1
- パスは、パスベースのルートに唯一追加される属性です。
ルーターは TLS を終了させず、要求のコンテンツを読み込みことができないので、パスベースのルーティングは、passthrough TLS を使用する場合には利用できません。