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

Container Service for Kubernetes:Knativeアプリケーションの迅速なデプロイ

最終更新日:Nov 15, 2024

Webアプリケーションのホスティング、サーバーレスアプリケーションの展開、AIタスク、イベント駆動型アプリケーションなどのシナリオでは、ワークロードをKnative Servicesとして展開することを推奨します。 このアプローチにより、需要に基づいてリソースを割り当て、ビジネスロジックの開発に重点を置くことができます。 また、リクエストベースの自動スケーリングや簡易バージョン管理など、Knative機能を利用することもできます。 これらの機能を使用することにより、Knativeは、アプリケーションからリクエストが受信されないときにポッドの数を自動的にゼロに減らし、リクエストが受信されたときにポッドを自動的にスケールアウトできます。

前提条件

Knativeはクラスターにデプロイされています。 詳細については、「」「Knativeのデプロイ」をご参照ください。

手順1: Knativeサービスのデプロイ

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

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[アプリケーション] > [ネイティブ] を選択します。

  3. [サービス] タブをクリックします。 [サービス] タブの上部のナビゲーションバーで、サービスが属する名前空間を選択します。 次に、Knativeサービスをデプロイします。

    ウィザードまたはYAMLエディターを使用して、Knativeサービスを展開できます。

    コンソールの使用

    [サービス] タブで、[サービスの作成] をクリックし、プロンプトに従って設定を完了します。

    パラメーター

    説明

    サービス名

    サービスの名前を入力します。

    イメージ名

    [画像の選択] をクリックします。 [画像の選択] ダイアログボックスで、必要な画像を選択します。 プライベートイメージレジストリのアドレスを入力することもできます。 アドレスは、domainname/namespace/imagename:tag形式である必要があります。

    この例では、registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-goが使用されます。

    イメージバージョン

    [イメージバージョンの選択] をクリックします。 この例では、画像バージョンは73fbdd56です。

    アクセスプロトコル

    HTTPgRPCがサポートされています。

    コンテナポート

    公開するコンテナーポート。 ポート番号は 1〜65535 である必要があります。

    Advanced

    [詳細設定] をクリックして詳細設定を行います。

    詳細設定の表示

    • 内部アクセスのみ: 内部アクセスのみを選択した場合、インターネット経由でKnativeサービスにアクセスすることはできません。

    • 並列リクエストの最大数: コンテナーが許可する並列リクエストの最大数です。 デフォルト値は 0 です。 これは、同時リクエストの数が無制限であることを示します。

    • 最小ポッド: リクエストを受信しない場合に保証する必要がある実行中のポッドの最小数。 このパラメーターを0に設定すると、リクエストが受信されないときに実行中のポッドの数がゼロに減少します。

    • Maximum Pods: 許可されるポッドの最大数。

    • リソース制限: CPU、メモリ、GPUリソースなど、アプリケーションで使用できるリソースの上限。 これにより、アプリケーションが過剰な量のリソースを占有することを防ぎます。 CPU使用率はコアで測定されます。 メモリ使用量はバイトまたはメガバイトで測定されます。

    • Lifecycle: コマンドとパラメータを指定します。

      • CommandとParameterが設定されていない場合、画像設定のCommandとParameterのデフォルト値が使用されます。

      • Parameterのみを設定した場合、画像設定のCommandのデフォルト値とParameterの指定値が使用されます。

      • CommandとParameterの両方を設定した場合、イメージ設定のCommandとParameterのデフォルト値は、指定した値で上書きされます。

    • 環境変数: キーと値のペアの形式の環境変数。

    • ボリューム: ローカルストレージと永続ボリュームクレーム (PVC) を追加します。

      • ローカルストレージの追加: HostPath、ConfigMap、Secret、またはEmptyDirを選択できます。 指定されたボリュームがコンテナ内のパスにマウントされます。 詳細については、「Volumes」をご参照ください。

      • PVCの追加: [クラウドストレージ] を選択します。

    YAMLエディターの使用

    1. [サービス] タブの右上で、[YAMLから作成] をクリックします。

    2. サービスのYAMLコンテンツをYAMLエディターに入力し、[作成] をクリックします。

      たとえば、次のYAMLコンテンツをエディターにコピーして、helloworld-goという名前のサービスを作成します。

      apiVersion: serving.knative.dev/v1
      kind: Service
      metadata:
        name: helloworld-go
      spec:
        template:
          spec:
            containers:
            - image: registry-vpc.cn-beijing.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
              env:
              - name: TARGET
                value: "Knative"

    サービスの作成後、[サービス] タブでサービスを表示、変更、または削除できます。

ステップ2: Knativeサービスへのアクセス

Knativeサービスがデプロイされた後、そのドメイン名をゲートウェイのIPアドレスに指定して、サービスをゲートウェイに関連付けることができます。 これにより、ドメイン名を使用してKnativeサービスにアクセスできます。 これを行うには、次の操作を実行します。

  1. [サービス] タブで、サービスの名前をクリックします。

    [基本情報] セクションでは、ゲートウェイとドメイン名に関する情報を表示できます。新服务

  2. 次の情報をhostsファイルに追加して、サービスのドメイン名をゲートウェイのIPアドレスに指定します。

    例:

    121.xx.xxx.xx helloworld-go.default.example.com
  3. hostsファイルを変更すると、ドメイン名を使用してKnativeサービスにアクセスできます。 访问服务

関連ドキュメント