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

Container Service for Kubernetes:Knative で ASM ゲートウェイを使用する

最終更新日:Mar 26, 2026

Knative Serving は、外部トラフィックをサービスにルーティングするためのイングレスレイヤーを使用します。デフォルトでは、このレイヤーには軽量ですがトラフィック管理機能が限定的な Kourier が使用されます。ご利用のクラスターで Alibaba Cloud Service Mesh (ASM) をすでに使用している場合、またはトラフィック分割、相互 TLS (mTLS)、メッシュ全体の可観測性などの Istio ベースの機能が必要な場合は、Knative を構成して ASM をイングレスゲートウェイとして使用できます。

ASM は、オープンソースの Istio 仕様と互換性があります。そのコントロールプレーンは Container Service for Kubernetes (ACK) によって管理されるため、Istio コンポーネントを直接運用する必要はありません。

前提条件

作業を開始する前に、以下の要件を満たしていることを確認してください。

  • ASM インスタンスのバージョンが 1.21.6.84 以降であること。手順については、「ASM インスタンスの作成」をご参照ください。

  • ASM インスタンスに追加済みの ACK マネージドクラスターまたは ACK Serverless クラスター(インスタンス作成時に Kubernetes クラスター 領域で設定)。

  • ASM インスタンスで データプレーンクラスターの KubeAPI による Istio CR アクセスを許可 することを有効化していること。

ステップ 1:ASM ゲートウェイを使用するように Knative を構成する

ASM ゲートウェイの構成方法は、ご利用のクラスターに Knative がすでにインストールされているかどうかによって異なります。

Knative のインストール時

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

  2. クラスター ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで アプリケーション > Knative を選択します。

  3. Knative ページで、コンポーネント タブをクリックし、Knative のデプロイ をクリックします。

  4. ゲートウェイ セクションで、ASM を選択し、デプロイ をクリックします。

Knative のインストール後

  1. knative-serving 名前空間内の config-network ConfigMap を編集します。

    kubectl -n knative-serving edit configmap config-network
  2. ingress.class を istio.ingress.networking.knative.dev に設定し、変更を適用するために保存して終了します。

    apiVersion: v1
    data:
      ...
      ingress.class: istio.ingress.networking.knative.dev
      ...
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving

ステップ 2:ASM 経由で Knative サービスをデプロイおよびアクセスする

このステップでは、helloworld-go という名前の Knative サービスのサンプルをデプロイし、ASM ゲートウェイ経由でアクセスできることを確認します。

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

  2. クラスター ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで アプリケーション > Knative を選択します。

  3. Knative ページで、サービス タブをクリックします。名前空間 を default に設定し、テンプレートから作成 をクリックします。

  4. 次の YAML をテンプレートエディターに貼り付け、作成 をクリックします。

    重要

    {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
            env:
            - name: TARGET
              value: "Knative"
  5. サービスの作成後、サービス タブで helloworld-go を探します。ゲートウェイ 列に、サービスに割り当てられた IP アドレスが表示されます。

  6. 次のコマンドを実行して、サービスにアクセスできることを確認します。39.XX.XX.XX は、前のステップで取得したゲートウェイの IP アドレスに置き換えてください。

    curl -H "Host: helloworld-go.default.example.com" http://39.XX.XX.XX

    期待される出力:

    Hello Knative!

(オプション)ステップ 3:サービス監視データを表示する

[Knative] ページで、[モニタリングダッシュボード] タブをクリックして helloworld-go のメトリックを表示します。 Knative モニタリングダッシュボードをセットアップするには、「Alibaba Cloud Prometheus モニタリングを介して Knative ダッシュボードを表示する」をご参照ください。

次のステップ