すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:Knative での ASM Ingress の使用

最終更新日:Dec 28, 2024

分散システムまたはマイクロサービスアプリケーションの大規模トラフィック管理シナリオ、特に Istio がサービスメッシュフレームワークとして使用されるシナリオでは、ASM Ingress を作成して Knative サービスのトラフィックを分散およびルーティングすることをお勧めします。ASM Ingress はオープンソースの Istio と互換性があります。そのコントロールプレーンコンポーネントは完全に管理されており、サービスガバナンスを簡素化します。ASM Ingress は、サービス間のルートとトラフィック分割の管理、サービス間で送信されるリクエストの認証、およびサービスメッシュの監視を行うことができます。

前提条件

ASM インスタンスが作成され、そのバージョンは 1.21.6.84 以降です。詳細については、ASM インスタンスの作成を参照してください。ASM インスタンスを作成するときは、Kubernetes クラスタ セクションで ACS クラスタを ASM インスタンスに追加します。

手順 1: Knative サービスをデプロイするときに ASM Ingress を選択する

  1. ACSコンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。

  2. クラスタ ページで、管理するクラスタを見つけて、その ID をクリックします。クラスタ詳細ページの左側のナビゲーションペインで、アプリケーション > Knative を選択します。

  3. Knative ページの コンポーネント タブで、Knative のデプロイ をクリックし、ASMゲートウェイ セクションで選択し、デプロイ をクリックします。

    デプロイが成功すると、Knative で ASM を使用できます。

手順 2: ASM Ingress を介して Knative サービスにアクセスする

この例では、Knative サービスを使用して、ASM を使用してサービスをデプロイする方法を示します。

  1. ACSコンソールにログインします。左側のナビゲーションペインで、クラスターをクリックします。

  2. クラスタ ページで、管理するクラスタを見つけ、その ID をクリックします。クラスタ詳細ページの左側のナビゲーション ペインで、アプリケーション > Knative を選択します。

  3. サービス タブの 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"
  4. ゲートウェイ列のサービスページで、helloworld-goサービスのゲートウェイアドレスを取得できます。

  5. 次のコマンドを実行して、helloworld-go サービスにアクセスします。

    curl -H "host: helloworld-go.default.example.com" http://39.XX.XX.XX # ゲートウェイの実際の IP アドレスとドメイン名を使用してください。

    期待される出力:

    Hello Knative!

    この出力は、サービスへのアクセスが成功したことを示しています。

(オプション) 手順 3: Knative 監視ダッシュボードを表示する

Knative はすぐに使用できる監視機能を提供します。Knative ページで、監視ダッシュボード タブをクリックして、指定されたサービスの監視データを表示します。Knative ダッシュボードの詳細については、Knative ダッシュボードの表示を参照してください。

image.png

参考資料