Kubernetes クラスターに ASM イングレスゲートウェイをデプロイし、アプリケーションへのパブリックまたは内部トラフィックの統一されたエントリポイントを提供します。集中型アクセスポイントとして、イングレスゲートウェイはトラフィック管理とルーティングを簡素化します。レイヤー 7 負荷分散を使用して、HTTP リクエストパス、ホストヘッダー、その他の属性に基づき、トラフィックを適切なバックエンドサービスにインテリジェントに分散します。
前提条件
操作手順
-
ASM コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
-
[メッシュ管理]ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、を選択します。
[Ingress Gateway] ページで、[Create] をクリックし、ゲートウェイの基本パラメーターを構成します。
以下の表にパラメーターの説明を示します。また、[Create from YAML] ページで [Ingress Gateway] をクリックして、YAML でイングレスゲートウェイを定義することもできます。詳細については、「KubeAPI を使用したイングレスゲートウェイの管理」をご参照ください。
パラメーター
説明
Name
ゲートウェイのカスタム名を入力します。
Cluster
ゲートウェイをデプロイするクラスターを選択します。
Service Type
サポートされるタイプは LoadBalancer、ClusterIP、および NodePort です。3 つのタイプの詳細については、「Service」をご参照ください。
説明データプレーンクラスターが登録済みクラスターで、LoadBalancer を選択する場合は、クラスターが LoadBalancer サービスをサポートしていることを確認してください。サポートされていない場合、作成が失敗する可能性があります。
CLB/NLB
このパラメーターは、Service Type が LoadBalancer に設定されている場合にのみ必須です。
サポートされるアクセス方法は Internet Access および Private Access です。
Create SLB Instance
このパラメーターは、Service Type が LoadBalancer に設定されている場合にのみ必須です。
Create SLB Instance:
CLB を選択した場合、[Select CLB Specifications] ドロップダウンリストから目的の仕様を選択します。
NLB を選択した場合、[Select Zones for NLB Instance] ドロップダウンリストから 少なくとも 2 つの可用性ゾーン に対応する vSwitch を選択します。
Use Existing CLB Instance:リストから既存のロードバランサーを選択します。
重要各 Kubernetes Service には専用のロードバランサーを割り当てることを推奨します。複数の Kubernetes Service で同じロードバランサーを共有する場合、以下のリスクおよび制限が適用されます。
既存のロードバランサーを使用すると、その既存のリスナーが上書きされ、アプリケーションにアクセスできなくなる可能性があります。
Kubernetes が Service を通じて作成したロードバランサーは再利用できません。コンソールまたは API オペレーションを呼び出して手動で作成したロードバランサーのみ再利用可能です。
同じロードバランサーを共有する複数の Service は、同じフロントエンドリスナーポートを持つことができません。そうでない場合、ポートの競合が発生します。
ロードバランサーを再利用する際、Kubernetes はリスナー名および vServer グループ名を一意の識別子として使用します。これらの名前を変更しないでください。
異なるクラスターやリージョン間でロードバランサーを再利用することはできません。
Port Mapping
Protocol および Service Port を構成します。
説明コンソールには Istio で一般的に使用されるデフォルトポートが 2 つ用意されています。必要に応じて変更できます。
Resources Limits
ゲートウェイ Pod の CPU およびメモリ仕様を選択します。
Gateway instances
ゲートウェイレプリカ数を設定します。
オプション: [ Advanced Options ] をクリックして、追加設定を構成します。
パラメーター
説明
External Traffic Policy
外部トラフィックポリシーを設定します。
Local:トラフィックはローカルノード上の Pod のみにルーティングされます。
Cluster:トラフィックはクラスター内の他のノード上の Pod にも転送できます。
HPA
HPA を選択し、以下のパラメーターを構成します。
metrics:Monitoring items および Threshold を設定します。しきい値を超えるとゲートウェイレプリカ数がスケールアウトし、メトリックがしきい値を下回るとスケールインします。
CPU およびメモリの両方に対してしきい値を設定した場合、いずれかのしきい値に達するとスケーリングがトリガーされます。
Maximum replicas:スケールアウト時の最大レプリカ数です。
Minimum number of replicas:スケールイン時の最小レプリカ数です。
説明この機能は Enterprise Edition および Ultimate Edition インスタンスでのみ利用可能です。
Rolling Upgrade
Rolling Upgrade を選択し、以下のパラメーターを構成します。
Maximum number of unavailable instances:ローリングアップグレード中に使用不可となるレプリカの最大数です。
Exceeding the desired number of instances:ローリングアップグレード中に希望レプリカ数を超えて作成できるレプリカの最大数です。たとえば、このパラメーターを 25% に設定すると、アップグレード中にレプリカ数が元の数の 125% を超えることはありません。
TLS performance optimization
TLS performance optimization を選択して、TLS 暗号化および復号を高速化します。
supported nodeaffinity:ノードラベルに基づいて、パフォーマンス最適化用のノードを選択します。
Poll Delay(ms):このパラメーターは、暗号化および復号操作の待機時間を短縮します。詳細については、「Parameter description」をご参照ください。
説明この機能は Enterprise Edition および Ultimate Edition インスタンスでのみ利用可能です。
Deploy ASM Gateway replicas as widely as possible
podAntiAffinityを設定すると、Pod は異なるノードに優先的にスケジュールされます。Custom Deployment Policy
ゲートウェイの
nodeSelector、tolerations、およびaffinityをカスタマイズできます。フィールドの詳細については、「ASM Gateway CRD Description」をご参照ください。SLB graceful offline
SLB graceful offline を有効にすると、ゲートウェイ Pod がロードバランサーから削除されてもサービスが中断されません。
Connection timeout (seconds):ロードバランサーがゲートウェイ Pod を削除した後、指定されたタイムアウト期間だけ Pod との接続を維持します。このパラメーターにより、ゲートウェイ Pod が既存の接続を処理するためのバッファー期間が確保されます。ゲートウェイ Pod のデフォルトのグレースフルシャットダウン期間は 30 秒です。ロードバランサーに設定するタイムアウト期間は 30 秒を超えてはいけません。
説明この機能は Enterprise Edition および Ultimate Edition インスタンスでのみ利用可能です。
構成が完了したら、[Create] をクリックします。
ゲートウェイのステータスが [Running] に変わると、正常に作成されたことを示します。Service address がイングレスゲートウェイの IP アドレスです。
関連操作
イングレスゲートウェイを作成した後は、ASM コンソールで管理したり、Container Service for Kubernetes (ACK) コンソールで詳細を確認したりできます。
ASM コンソールでのイングレスゲートウェイの管理
-
ASM コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
-
[メッシュ管理]ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、を選択します。
[Ingress Gateway] ページで、イングレスゲートウェイを管理します。
操作
説明
イングレスゲートウェイの表示または編集
方法 1:対象のゲートウェイの右側で、[View Details] をクリックし、必要に応じてパラメーターを変更します。
方法 2:対象のゲートウェイの右側で、[View YAML] をクリックします。[Edit] ダイアログボックスで、必要なフィールドを変更し、[OK] をクリックします。フィールドの詳細については、「ASM Gateway CRD Description」をご参照ください。
イングレスゲートウェイの削除
対象のゲートウェイの右側で、[Delete] をクリックします。[Confirm] ダイアログボックスで、[OK] をクリックします。
重要イングレスゲートウェイを削除すると、外部サービスがこのゲートウェイ経由でメッシュ内のサービスにアクセスできなくなります。削除されたゲートウェイは復元できず、再度作成する必要があります。慎重に操作してください。
ACK コンソールでのイングレスゲートウェイの確認
新しいイングレスゲートウェイの基本情報を表示します。
[ACK コンソール][] にログインします。左側のナビゲーションウィンドウで、[クラスターリスト] をクリックします。
[クラスターリスト] ページで、クラスターの名前をクリックします。左側のナビゲーションウィンドウで、 をクリックします。
[サービス] ページの上部にある [名前空間] ドロップダウンリストから istio-system を選択します。
対象のゲートウェイの基本情報を表示できます。External IP 列の IP アドレスがイングレスゲートウェイの IP アドレスです。
新しいイングレスゲートウェイの Pod 情報を表示します。
[ACK コンソール][] にログインします。左側のナビゲーションウィンドウで、[クラスターリスト] をクリックします。
[クラスターリスト] ページで、クラスターの名前をクリックします。左側のナビゲーションウィンドウで、 をクリックします。
[ポッド] ページの上部にある [名前空間] ドロップダウンリストから istio-system を選択します。
対象の Pod をクリックして、詳細を表示します。
関連ドキュメント
API を使用してイングレスゲートウェイを作成するには、「CreateASMGateway」をご参照ください。
サービスの異なるバージョンにトラフィックを比率で分散するには、「waypoint および仮想サービスを使用したクラスター内東西のトラフィックの管理」をご参照ください。
ASM メッシュトポロジー機能を使用して、アプリケーション、サービス、アプリケーションバージョン間の呼び出し関係およびトラフィックフローを表示します。詳細については、「メッシュトポロジーの表示」をご参照ください。
ゲートウェイ機能の詳細については、「ASM ゲートウェイの概要」をご参照ください。