Webアプリケーションのホスティング、サーバーレスアプリケーションの展開、AIタスク、イベント駆動型アプリケーションなどのシナリオでは、ワークロードをKnative Servicesとして展開することを推奨します。 このアプローチにより、需要に基づいてリソースを割り当て、ビジネスロジックの開発に重点を置くことができます。 また、リクエストベースの自動スケーリングや簡易バージョン管理など、Knative機能を利用することもできます。 これらの機能を使用することにより、Knativeは、アプリケーションからリクエストが受信されないときにポッドの数を自動的にゼロに減らし、リクエストが受信されたときにポッドを自動的にスケールアウトできます。
前提条件
Knativeはクラスターにデプロイされています。 詳細については、「」「Knativeのデプロイ」をご参照ください。
手順1: Knativeサービスのデプロイ
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[サービス] タブをクリックします。 [サービス] タブの上部のナビゲーションバーで、サービスが属する名前空間を選択します。 次に、Knativeサービスをデプロイします。
ウィザードまたはYAMLエディターを使用して、Knativeサービスを展開できます。
コンソールの使用
[サービス] タブで、[サービスの作成] をクリックし、プロンプトに従って設定を完了します。
パラメーター
説明
サービス名
サービスの名前を入力します。
イメージ名
[画像の選択] をクリックします。 [画像の選択] ダイアログボックスで、必要な画像を選択します。 プライベートイメージレジストリのアドレスを入力することもできます。 アドレスは、domainname/namespace/imagename:tag形式である必要があります。
この例では、registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-goが使用されます。
イメージバージョン
[イメージバージョンの選択] をクリックします。 この例では、画像バージョンは73fbdd56です。
アクセスプロトコル
HTTPとgRPCがサポートされています。
コンテナポート
公開するコンテナーポート。 ポート番号は 1〜65535 である必要があります。
Advanced
[詳細設定] をクリックして詳細設定を行います。
YAMLエディターの使用
[サービス] タブの右上で、[YAMLから作成] をクリックします。
サービスの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サービスにアクセスできます。 これを行うには、次の操作を実行します。
[サービス] タブで、サービスの名前をクリックします。
[基本情報] セクションでは、ゲートウェイとドメイン名に関する情報を表示できます。
次の情報をhostsファイルに追加して、サービスのドメイン名をゲートウェイのIPアドレスに指定します。
例:
121.xx.xxx.xx helloworld-go.default.example.com
hostsファイルを変更すると、ドメイン名を使用してKnativeサービスにアクセスできます。
関連ドキュメント
Knative Serviceのカスタムドメイン名を指定できます。 詳細については、「カスタムドメイン名の使用」をご参照ください。
カスタムドメイン名を使用してHTTPS経由でKnativeサービスにアクセスするように証明書を設定する方法の詳細については、「HTTPS経由でサービスにアクセスするように証明書を設定する」をご参照ください。
リビジョンを作成し、リビジョンに基づいてKnative Servicesのバージョンを管理できます。 詳細については、「リビジョンの作成」をご参照ください。
ビジネストラフィックが予期せず急増した場合は、elasticコンテナインスタンスを使用してKnative Servicesをデプロイできます。 詳細については、「Knativeでのエラスティックコンテナインスタンスの使用」をご参照ください。
リクエスト数に基づいてKnativeサービスの自動スケーリングを実装する方法の詳細については、「トラフィック変動に耐える自動スケーリングの有効化」をご参照ください。
Knativeでイベント駆動モードにKnative Eventingをデプロイする方法の詳細については、「Knative Eventing」をご参照ください。