ACK Knative はオープンソースの Knative と完全な互換性があり、数クリックでアプリケーションをデプロイできるため、インフラストラクチャ リソースを購入および管理する必要がなくなります。ACK コンソールを使用すると、Knative を迅速にデプロイし、Knative Ingress を有効化し、必要に応じて Knative コアコンポーネントと複数のアドオンをインストールし、Knative Serving コンポーネントをアップグレードできます。
前提条件
Kubernetes 1.28 以降を実行する ACK マネージドクラスター または ACK 専用クラスター が作成されており、クラスターに少なくとも 3 つのワーカーノードが構成されていること。クラスターをアップグレードする必要がある場合は、「ACK クラスタを手動でアップグレードする」をご参照ください。
Knative のデプロイ
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[コンポーネント] タブで、[Knative のデプロイ] をクリックし、インストールする Knative ゲートウェイを選択して、[デプロイ] をクリックします。
Knative のゲートウェイまたは Ingress の推奨事項については、「Knative 用の Ingress を選択する」をご参照ください。
ALB
ALB Ingress はフルマネージドであり、ALB に基づいてイングレストラフィックを管理するためのより効率的な方法を提供します。 ALB Ingress は、複雑なルーティング、証明書の自動検出、HTTP、HTTPS、および QUIC プロトコルをサポートしています。 ALB Ingress を使用する場合は、少なくとも 2 つの vSwitch を選択する必要があります。
説明ALB でサポートされているリージョンとゾーンの詳細については、「ALB が利用可能なリージョンとゾーン」をご参照ください。
MSE
MSE Ingress は、MSE クラウドネイティブゲートウェイに基づいて開発されており、イングレストラフィックを管理するためのより効率的な方法を提供します。 MSE Ingress は NGINX Ingress と互換性があり、NGINX Ingress で定義されている 50 以上のアノテーションをサポートしています。 MSE Ingress は、NGINX Ingress でサポートされているシナリオの 90% 以上に適しています。 MSE Ingress を使用すると、複数のカナリアバージョンを同時にロールアウトでき、柔軟なサービスガバナンス機能と包括的な保護を提供できます。 MSE Ingress は、多数のクラウドネイティブ分散アプリケーションが使用されるシナリオでのトラフィックガバナンスの要件を満たすことができます。
ASM
Alibaba Cloud Service Mesh(ASM)は、フルマネージドのサービスメッシュプラットフォームです。 ASM は、オープンソースの Istio サービスメッシュと互換性があります。 ASM はサービス管理を簡素化します。たとえば、ASM を使用して、サービス間のトラフィックのルーティングと分割、認証に基づくサービス間通信のセキュリティ保護、メッシュ内のサービスの動作の監視を行うことができます。これにより、開発と O&M の作業が大幅に削減されます。
Kourier
Kourier ゲートウェイは Knative コミュニティによって提供され、基本的なルーティング機能を提供します。 Kourier ゲートウェイはクラスターにデプロイされ、手動で保守する必要があります。
説明ACK Serverless クラスター で Kourier ゲートウェイを使用するには、Alibaba Cloud DNS PrivateZone または CoreDNS を有効にする必要があります。
コンポーネントがデプロイされた後、[コンポーネントに移動] をクリックしてコンポーネントの詳細を表示するか、[サービスに移動] をクリックして Knative サービスの詳細を表示できます。
次の手順
[コンポーネント] タブで、[ステータス] 列に [未デプロイ] と表示されているコンポーネントを見つけ、[アクション] 列の [デプロイ] をクリックします。表示されるメッセージで、[確認] をクリックします。
[コンポーネント] タブで、アンインストールするコンポーネントを見つけ、[アクション] 列の [アンインストール] をクリックします。表示されるメッセージで、[確認] をクリックします。
[コンポーネント] タブの右上隅にある [アンインストール] をクリックします。表示されるダイアログボックスで、[上記の情報を読み、Knative をアンインストールすることを確認しました] を選択し、[OK] をクリックします。
Knative コンポーネントのデプロイ
Knative は、コアコンポーネントである Knative Serving と Knative Eventing を提供し、GitHub や Kafka などのイベントソースコンポーネントを含む、Knative サービスの機能を拡張するためのさまざまなアドオンもサポートしています。これらのコンポーネントは、コンソールを介してデプロイおよび管理できます。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[未デプロイ] ステータスのコンポーネントを選択し、デプロイ[アクション] 列の [確認] をクリックします。表示されるメッセージで、 をクリックします。
[ステータス] 列に [デプロイ済み] と表示されている場合は、コンポーネントがデプロイされています。
Knative コンポーネントが不要になった場合は、[アクション] 列の [アンインストール] をクリックし、プロンプトに従ってコンポーネントをアンインストールします。
重要Knative コンポーネントをアンインストールすると、関連する Knative CustomResourceDefinitions(CRD)と Knative サービスが削除されます。注意して進めてください。
Knative Serving のアップグレード
Knative Serving は Knative のコアコンポーネントであり、アプリケーションのデプロイ、バージョンの管理、トラフィックベースの自動スケーリングなどのサーバーレス ワークロードを処理します。また、新機能のカナリアリリースも管理します。アイドル状態のときは、ポッドの数をゼロにスケールダウンできます。最新の機能とバグ修正を利用するために、コンソールから Knative Serving を定期的にアップグレードすることをお勧めします。
マネージド Knative のみをアップグレードできます。 Knative Serving のリリースノートについては、「Knative リリースノート」をご参照ください。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[アドオン] ページで、[その他] セクションの knative を見つけ、プロンプトに従ってアドオンをアップグレードします。
完了すると、アップグレード結果が表示されます。
参考資料
ビジネス要件に基づいて Knative に適切な Ingress を選択する方法の詳細については、「Knative 用の Ingress を選択する」をご参照ください。
Knative サービスの迅速なデプロイの詳細については、「Knative アプリケーションを迅速にデプロイする」をご参照ください。
Knative を使用して受信需要に合わせてアプリケーションのポッドをスケーリングする方法の詳細については、「トラフィックの変動に耐えるための自動スケーリングを有効にする」をご参照ください。
Knative でイベントドリブンモードの Eventing コンポーネントをインストールする方法の詳細については、「Knative Eventing」をご参照ください。