Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerRuntime Fabric では、Mule アプリケーションのイングレスエンドポイントを作成するための Red Hat OpenShift ルートを設定できます。
Runtime Fabric でのルートの設定は、イングレスリソースの設定と密接に連携しています。ルートを作成する前に、以下を確認してください。
次の例では、networking.k8s.io/v1 API 用の Runtime Fabric イングレスリソーステンプレートを作成するために Kubernetes イングレス仕様を変更する方法を示しています。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-rtf-ingress
namespace: rtf #(1)
labels:
spec:
ingressClassName: rtf-openshift #(2)
tls: #(3)
- hosts:
- app-name.example.com
secretName: example-tls
rules:
- host: app-name.example.com #(4)
http:
paths: #(5)
- pathType: Prefix
path: / #(6)
backend: #(7)
service:
name: service-name
port:
name: service-port
yaml
この例について、次の点に注意してください。
1 | このテンプレートは rtf 名前空間に配置する必要があります。 |
2 | ingressClassName は、rtf- のプレフィックスを付けて、rtf-openshift に設定する必要があります。
Runtime Fabric では |
3 | TLS は省略可能です。テンプレートで指定した場合、route.openshift.io/termination: アノテーションを設定しない限り、Runtime Fabric はデフォルトでエッジ終端のルートを作成します。 |
4 | アプリケーションをデプロイすると、Runtime Fabric は app-name プレースホルダーのパラメーターを実際のアプリケーション名に置き換えます。これにより、サブドメインにワイルドカードが含まれない場合に各エンドポイント名を一意にすることができます。 |
5 | テンプレートにはホストの複数のパスを含めることができますが、Runtime Manager にはホストの最初のパスルールのみが表示されます。 |
6 | Runtime Fabric は、Mule アプリケーションのイングレスを設定するときに [Path (パス)] 項目に追加した値で path パラメーター値を置き換えます。path はプレースホルダーではありません。 |
7 | これらのプレースホルダー値は Kubernetes 検証に必須ですが、実際の値は Runtime Fabric によって使用されません。 |
省略可能なプレースホルダー値のリストは、「テンプレートのプレースホルダー」を参照してください。
ルートを設定するには、次のタスクを実行します。
イングレスリソーステンプレートを作成してクラスターで適用します。
Mule アプリケーションのイングレスを設定します。
テンプレート例を使用してルート用のイングレスリソースを作成します。
テンプレート例を新しいファイルにコピーして、コメントに変更します。
ファイル名に .yaml
拡張子を含めます。
イングレステンプレートを適用するには、次のコマンドを実行します。
kubectl apply -f <TEMPLATE_FILENAME.yaml>
copy
テンプレートに問題がある場合、Kubernetes api-server
によってエラーが返され、コマンドは失敗します。
テンプレートを正常に適用したら、次のコマンドを使用して表示できます。
kubectl describe ingress [Ingress Name] -n rtf
copy
Runtime Manager を使用して Runtime Fabric にデプロイするときに、アプリケーションのイングレスを設定します。アプリケーションに使用可能なホストおよびパスは、Runtime Fabric システム管理者が設定したイングレスリソーステンプレートから取得されます。
この手順を使用してテストアプリケーションをデプロイし、イングレスリソーステンプレートを検証することもできます。
次に、アプリケーションのイングレスを設定する方法の概要を示します。
完全なデプロイメント手順については、「Runtime Fabric に Mule アプリケーションをデプロイする」を参照してください。
Mule Maven プラグインを使用してアプリケーションを Runtime Fabric にデプロイする場合、ブロック |
[Runtime Manager] に移動し、ドキュメントに従ってアプリケーションを Runtime Fabric にデプロイします。
[Ingress (イングレス)] を選択します。
[Host (ホスト)] ドロップダウンリストからアプリケーションのホストを選択します。
ホスト名にワイルドカードが使用されている場合、[Subdomain (サブドメイン)] 項目でサブドメインを追加します。
[Subdomain (サブドメイン)] 項目はホスト名にワイルドカードが使用されている場合のみ使用できます。
[Path (パス)] 項目で、アプリケーションのエンドポイントに URL パスを追加します。
エンドポイントをプレビューするには、生成されたプレビューリンクをクリックします。
別のエンドポイントを追加するには、[+ Add Endpoint (+ エンドポイントを追加)] をクリックします。
準備ができたら、[Deploy application (アプリケーションをデプロイ)] をクリックします。
アプリケーションをデプロイすると Runtime Manager は、アプリケーションにトラフィックを転送するルートを、指定されたテンプレートに従って作成します。
パススルー TLS 終端を含めるようにイングレスリソーステンプレートを設定できます。
パススルー TLS 終端を使用するパスの設定については、 Red Hat OpenShift ドキュメントを参照してください。
イングレスリソーステンプレートを作成する手順は、次のとおりです。 . テンプレートで、次のアノテーションを追加します。
+
route.openshift.io/termination: passthrough
テンプレートで、次のパラメーター値を設定します。
path: ''
(空の文字列) を設定
pathType: ImplementationSpecific
を設定
Runtime Manager で、Mule アプリケーション用のイングレスを設定するときに、Path 項目に /
を含めます。
アプリケーションエンドポイントに、パススルー TLS 終端の HTTPS が表示されます。