分散システムまたはマイクロサービスアプリケーションの大規模トラフィック管理シナリオ、特に Istio がサービスメッシュフレームワークとして使用されるシナリオでは、ASM Ingress を作成して Knative サービスのトラフィックを分散およびルーティングすることをお勧めします。ASM Ingress はオープンソースの Istio と互換性があります。そのコントロールプレーンコンポーネントは完全に管理されており、サービスガバナンスを簡素化します。ASM Ingress は、サービス間のルートとトラフィック分割の管理、サービス間で送信されるリクエストの認証、およびサービスメッシュの監視を行うことができます。
前提条件
ASM インスタンスが作成され、そのバージョンは 1.21.6.84 以降です。詳細については、ASM インスタンスの作成を参照してください。ASM インスタンスを作成するときは、Kubernetes クラスタ セクションで ACS クラスタを ASM インスタンスに追加します。
手順 1: Knative サービスをデプロイするときに ASM Ingress を選択する
ACSコンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。
クラスタ ページで、管理するクラスタを見つけて、その ID をクリックします。クラスタ詳細ページの左側のナビゲーションペインで、 を選択します。
Knative ページの コンポーネント タブで、Knative のデプロイ をクリックし、ASM を ゲートウェイ セクションで選択し、デプロイ をクリックします。
デプロイが成功すると、Knative で ASM を使用できます。
手順 2: ASM Ingress を介して Knative サービスにアクセスする
この例では、Knative サービスを使用して、ASM を使用してサービスをデプロイする方法を示します。
ACSコンソールにログインします。左側のナビゲーションペインで、クラスターをクリックします。
クラスタ ページで、管理するクラスタを見つけ、その ID をクリックします。クラスタ詳細ページの左側のナビゲーション ペインで、 を選択します。
サービス タブの Knative ページで、名前空間 を default として選択し、テンプレートから作成 をクリックします。次の YAML の例をテンプレートにコピーして貼り付け、作成 をクリックして、helloworld-go という名前のサービスを作成します。
重要以下のコードの
{REGION-ID}をクラスタのリージョン ID(例:cn-beijing)に置き換えて、イメージへのアクセスと使用を確保してください。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go spec: template: spec: containers: - image: registry.{REGION-ID}.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 # {REGION-ID} をクラスタのリージョンに置き換えてください。 env: - name: TARGET value: "Knative"ゲートウェイ列のサービスページで、helloworld-goサービスのゲートウェイアドレスを取得できます。
次のコマンドを実行して、helloworld-go サービスにアクセスします。
curl -H "host: helloworld-go.default.example.com" http://39.XX.XX.XX # ゲートウェイの実際の IP アドレスとドメイン名を使用してください。期待される出力:
Hello Knative!この出力は、サービスへのアクセスが成功したことを示しています。
(オプション) 手順 3: Knative 監視ダッシュボードを表示する
Knative はすぐに使用できる監視機能を提供します。Knative ページで、監視ダッシュボード タブをクリックして、指定されたサービスの監視データを表示します。Knative ダッシュボードの詳細については、Knative ダッシュボードの表示を参照してください。

参考資料
Knative サービスのカスタムドメイン名を指定できます。詳細については、カスタムドメイン名の構成 を参照してください。
HTTPS 経由で Knative サービスにアクセスするための証明書を構成できます。詳細については、HTTPS 経由でサービスにアクセスするための証明書の構成 を参照してください。
ネットワーク効率を向上させるために、Knative に gRPC サービスをデプロイできます。詳細については、Knative への gRPC サービスのデプロイ を参照してください。
プローブを構成して、Knative サービスのヘルスステータスと可用性を監視できます。詳細については、Knative でのポートプローブの構成 を参照してください。