Knative Service は、ホスティングされた Web サービス、サーバーレスアプリケーション、AI ジョブ、イベント駆動型システムに適しています。受信トラフィックに基づいて自動でスケーリングします (リクエストがない場合は Pod をゼロまでスケールダウンします)。これにより、支払いは使用した分のみとなり、インフラストラクチャではなくアプリケーションロジックに集中できます。また、Knative Service はバージョン管理も大幅に簡素化します。
前提条件
開始する前に、以下を確認してください。
-
ACS クラスターに Knative がデプロイされている必要があります。詳細については、「Knative のデプロイ」をご参照ください。
Knative Service のデプロイ
-
ACS コンソールにログインします。左側のナビゲーションペインで、[Clusters] をクリックします。
-
[Clusters] ページで、管理するクラスターの ID をクリックします。クラスターの詳細ページの左側のナビゲーションペインで、[Applications] > [Knative] を選択します。
-
[Services] タブをクリックします。上部メニューで、Knative Service の名前空間を選択します。
-
コンソールウィザードまたは YAML エディターを使用して Knative Service をデプロイします。
コンソールの使用
[Create Service] をクリックし、設定を完了します。
| パラメーター | 説明 |
|---|---|
| [サービス名] | Knative Service の名前を入力します。 |
| [イメージ名] | [Select Image] をクリックします。[Select Image] ダイアログボックスで、イメージを選択します。domainname/namespace/imagename 形式でプライベートイメージレジストリのアドレスを入力することもできます。例: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go |
| [イメージバージョン] | [Select Image Version] をクリックします。バージョン例: 73fbdd56 |
| [アクセスプロトコル] | [HTTP] または [gRPC] を選択します。 |
| [コンテナポート] | 公開するコンテナポートです。有効値は 1~65535 です。 |
[Advanced] をクリックして、詳細設定を行います。
| パラメーター | 説明 |
|---|---|
| [内部アクセスのみ] | 選択した場合、Knative Service はインターネット経由でアクセスできなくなります。 |
| [最大同時リクエスト数] | コンテナが処理する最大同時リクエスト数です。デフォルトは 0 (無制限) です。 |
| [最小 Pod 数] | リクエストがない場合でも維持される Pod の最小数です。0 に設定すると、ゼロへのスケーリングが有効になります。 |
| [最大 Pod 数] | 許可される Pod の最大数です。 |
| [リソース制限] | CPU (コア)、メモリ (バイトまたはメビバイト)、GPU リソースの上限です。 |
| [ライフサイクル] | [Command] と [Parameter] を指定して、イメージのデフォルトエントリポイントを上書きします。[Parameter] のみを設定した場合、イメージのデフォルトコマンドと指定したパラメーターが使用されます。両方を設定した場合、イメージのデフォルトのコマンドとパラメーターの両方が上書きされます。 |
| [環境変数] | コンテナに渡すキーと値のペアです。 |
| [ボリューム] | ローカルストレージまたは永続ボリューム要求 (PVCs) をマウントします。ローカルストレージの場合は、HostPath、ConfigMap、Secret、または EmptyDir を選択します。PVC の場合は、Cloud Storage を選択します。 |
YAML エディターの使用
-
[Services] タブの右上隅にある テンプレートから作成 をクリックします。
-
YAML をエディターに貼り付け、[Create] をクリックします。次の例では、
helloworld-goという名前の Knative Service を作成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go # [1] spec: template: spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 # [2] env: - name: TARGET # [3] value: "Knative"[1] Knative Service 名。デフォルトドメイン名の一部として使用されます。[2] コンテナイメージ。レジストリアドレスとイメージバージョンタグを含みます。[3] アプリケーションに渡す環境変数。
[Services] タブで、いつでも Knative Service を表示、編集、または削除できます。
Knative Service へのアクセス
ドメイン名を使用して Knative Service にアクセスするには、そのドメイン名がゲートウェイ IP アドレスを指すように設定します。
-
[Services] タブで、Knative Service 名をクリックします。
-
[Basic Information] セクションで、ゲートウェイ IP アドレスとドメイン名を確認します。

-
ローカルの hosts ファイルにエントリを追加して、ドメイン名をゲートウェイ IP アドレスにマッピングします。
121.xx.xxx.xx helloworld-go.default.example.com -
ドメイン名を使用して Knative Service にアクセスします。

次のステップ
-
カスタムドメイン名の設定 — デフォルトの example.com ドメインを独自のドメインに置き換えます。
-
HTTPS 経由で Knative Service にアクセスするための証明書の設定 — 安全なアクセスのために TLS を有効にします。
-
リビジョンの作成 — Knative Service の複数バージョンを管理し、バージョン間でトラフィックを分割します。
-
リクエスト数に基づく自動スケーリングの設定 — ゼロへのスケーリングと同時実行の設定を微調整します。
-
Knative Eventing — Knative Service をイベントソースに接続して、イベント駆動型アーキテクチャを実現します。