本ガイドでは、ACK Serverless クラスターの作成、コンテナイメージからの NGINX アプリケーションのデプロイ、およびパブリックエンドポイントを介したアプリケーションへのアクセス手順について説明します。
前提条件
開始する前に、以下の操作を完了してください。
Elastic Container Instance (ECI) コンソールで Elastic Container Instance (ECI) を有効化します。
ステップ 1:ACK Serverless クラスターの作成
このセクションでは、キーパラメーターのみを説明します。 詳細については、「サーバーレス Kubernetes クラスターを作成する」をご参照ください。
クラスター設定の構成
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、[Kubernetes クラスターの作成] をクリックします。
[ACK Serverless] タブをクリックし、以下のパラメーターを設定します。
| パラメーター | 説明 | 例 |
|---|---|---|
| クラスタ名 | クラスターの名前です。 | ask-hangzhou |
| クラスターの仕様 | クラスターのエディションです。[Pro] を選択します。本番環境およびテスト環境には、ACK Pro マネージドクラスターが推奨されます。 | 標準エディション |
| リージョン | クラスターのリージョン。ユーザーに近いリージョンを選択すると、ネットワーク遅延が削減され、アクセス速度が向上します。 | 中国 (杭州) |
| [VPC] | クラスター用の仮想プライベートクラウド (VPC) です。[ゾーン] を指定すると、自動的に VPC が作成されます。または、既存の VPC を選択できます。 | [既存の VPC を選択] |
| VPC の SNAT を設定 | VPC 内のインスタンスがインターネットにアクセスできるようにします。このオプションを選択すると、ACK が自動的に SNAT を構成します。SNAT の動作の詳細については、この表の下をご参照ください。 | [VPC の SNAT 構成] |
| [vSwitch] | 既存の vSwitch を選択するか、[vSwitch の作成] をクリックします。高可用性を確保するため、異なるゾーンに配置された複数の vSwitch を選択してください。コントロールプレーンおよびデフォルトのノードプールは、選択した vSwitch を使用します。 | vsw-uf6x420ebylcwqclw\*\*\*\*,vsw-uf6qbh0tfvfuco0q7\*\*\*\* |
| セキュリティグループ | 選択肢:[基本セキュリティグループの作成]、[高度なセキュリティグループの作成]、または [既存のセキュリティグループの選択] です。[既存のセキュリティグループの選択] オプションは、[VPC] が [既存の VPC を選択] に設定されている場合にのみ利用可能です。セキュリティグループの詳細については、この表の下をご参照ください。 | [高度なセキュリティグループの作成] |
| サービス CIDR | クラスターサービス用の CIDR ブロックです。この値は、クラスター作成後に変更できません。この CIDR ブロックは、VPC CIDR ブロック、VPC 内の ACK クラスター CIDR ブロック、または Pod CIDR ブロックと重複してはなりません。詳細については、「ACK マネージドクラスターのネットワーク計画」をご参照ください。 | 172.21.0.0/20 |
| API サーバーアクセス | Kubernetes API サーバー用のイントラネット SLB インスタンスはデフォルトで作成されます。SLB インスタンスの仕様を変更できます。詳細については、「仕様」をご参照ください。[EIP で API サーバーを公開] を選択または解除します。API サーバーへのアクセス詳細については、この表の下をご覧ください。 | [EIP を使用した API サーバーの公開] |
[VPC の SNAT 構成] を選択した場合の SNAT 動作:
NAT Gateway が存在しない場合:ACK が NAT Gateway を作成し、クラスターで使用されるすべての vSwitch に対してスイッチレベルの SNAT ルールを自動的に構成します。
NAT Gateway は存在するが、VPC レベルの SNAT ルールがない場合:ACK が自動的にスイッチレベルの SNAT ルールを構成します。
VPC レベルの SNAT ルールがすでに存在する場合:何も実行されません。
このチェックボックスを選択しない場合、クラスターの作成後に NAT Gateway および SNAT ルールを手動で設定する必要があります。詳細については、「インターネット NAT Gateway の作成と管理」をご参照ください。
VPC 共有を利用する場合は、このオプションを選択しないでください。
セキュリティグループの詳細:
自動作成されるセキュリティグループでは、すべてのアウトバウンドトラフィックが許可されます。
100.64.0.0/10へのトラフィックも許可する必要があります。この CIDR ブロックは、コンテナイメージのプルおよび ECS 情報の照会などの目的で Alibaba Cloud サービスにアクセスするために使用されます。既存のセキュリティグループを選択した場合、システムはセキュリティグループルールを自動的に設定しません。手動で設定する必要があります。詳細については、「クラスターのセキュリティグループを設定する」をご参照ください。
API サーバーへのアクセス方法の詳細:
[EIP を使用した API サーバーの公開] を選択した場合:Elastic IP Address (EIP) が作成され、SLB インスタンスに関連付けられます。API サーバーはポート 6443 経由でインターネットに公開されます。kubeconfig ファイルを使用して、インターネット経由でクラスターに接続および管理できます。
[EIP を使用した API サーバーの公開] を解除した場合:EIP は作成されません。kubeconfig ファイルを使用して、VPC 内からのみクラスターに接続できます。
イントラネット SLB インスタンスを削除すると、Kubernetes API サーバーへのアクセスができなくなります。
詳細については、「API サーバーをインターネットに公開する」をご参照ください。
コンポーネントの構成
ページ右下の [次へ:コンポーネントの構成] をクリックします。
| パラメーター | 説明 | 例 |
|---|---|---|
| サービスディスカバリー | オプション: [無効化]、[PrivateZone]、または [CoreDNS]。 PrivateZone は、1 つ以上の VPC 内でプライベートドメイン名を IP アドレスに解決します。CoreDNS は、柔軟でスケーラブルな DNS サーバーであり、Kubernetes の標準的なサービスディスカバリーコンポーネントです。 | 無効化 |
| Ingress | オプション: [インストールしない]、Nginx Ingress、ALB Ingress、または MSE Ingress。 Nginx Ingress は Ingress に基づいたルーティングを提供します。ALB Ingress は、複雑なルーティング、自動証明書検出、および HTTP、HTTPS、QUIC プロトコルをサポートします。MSE Ingress は、MSE クラウドネイティブゲートウェイを ACK と統合して、Ingress トラフィックを管理します。 | インストールしない |
| 監視サービス | Managed Service for Prometheus を使用して、事前定義されたダッシュボードとメトリックを表示します。また、metrics-server コンポーネントをインストールすることもできます。詳細については、「Managed Service for Prometheus」をご参照ください。 | metrics-server のインストール |
| Log Service | [Log Service] を有効にします。既存のプロジェクトを選択するか、新しいプロジェクトを作成します。 | プロジェクトの作成 |
| Knative | Knative を有効にします。Knative は、リクエストベースのオートスケーリング、ゼロへのスケーリング、バージョン管理、およびカナリアリリースをサポートする Kubernetes ベースのサーバーレスフレームワークです。 | Knative を有効化 |
確認と作成
ページ右下の [次へ:確認] をクリックします。
[確認] ウィザードページで、[利用規約] を読み、[クラスターの作成] をクリックします。
クラスターが作成された後、[クラスター] ページでそのクラスターを確認できます。クラスターを特定し、[操作] 列の [詳細] をクリックします。その後、[基本情報] および [接続情報] タブをクリックして、クラスターの詳細情報を表示します。
ステップ 2:イメージからアプリケーションを作成
本セクションでは、主要なパラメーターのみを説明します。詳細については、「イメージからステートレスアプリケーションを作成する」をご参照ください。
基本情報の構成
クラスター詳細ページの左側ナビゲーションウィンドウで、[ワークロード] > [デプロイメント] を選択します。
[デプロイメント] ページの右上隅にある [イメージから作成] をクリックします。
[基本情報] ウィザードページで、以下のパラメーターを設定します。
| パラメーター | 説明 | 例 |
|---|---|---|
| 名前 | アプリケーションの名前です。 | serverless-app-deployment |
| タイプ | リソースタイプです。有効な値:[Deployment] および [StatefulSet] です。 | Deployment |
[次へ] をクリックします。
コンテナー設定の構成
[コンテナー] ウィザードページの [一般] セクションで、コンテナー設定を構成します。
| パラメーター | 説明 | 例 |
|---|---|---|
| イメージ名 | [イメージの選択] をクリックしてイメージを選択するか、プライベートレジストリのイメージアドレスを入力します。イメージアドレスの形式は domainname/namespace/imagename:tag です。 | 本例では、中国 (杭州) リージョンの Container Registry Personal Edition インスタンスに保存されたイメージを使用します。 |
| イメージ バージョン | [イメージバージョンの選択] をクリックしてバージョンを選択します。バージョンを指定しない場合、最新バージョンが使用されます。 | 本例では、イメージバージョンを指定していません。 |
[ポート] セクションで、[追加] をクリックしてコンテナーポートを構成します。
| パラメーター | 説明 | 例 |
|---|---|---|
| 名前 | コンテナーポートの名前です。 | nginx |
| コンテナーポート | 公開するコンテナーポートです。有効な値:1~65535。 | 80 |
| プロトコル | プロトコルです。有効な値:TCP および UDP。 | TCP |
[次へ] をクリックします。
高度な設定の構成
[高度な設定] ウィザードページの [アクセス制御] セクションで、バックエンドの Pod を公開する Service を構成するために、[Services] の横にある [作成] をクリックします。[Service の作成] ダイアログボックスで、以下のパラメーターを設定します。
| パラメーター | 説明 | 例 |
|---|---|---|
| 名前 | サービスの名前です。 | serverless-app-svc |
| タイプ | サービスのタイプであり、サービスへのアクセス方法を決定します。 | Server Load Balancer を選択します。その後、パブリックアクセス および SLB インスタンスの作成 を選択します。変更 をクリックして SLB の仕様を変更できます。デフォルトの仕様は Small I (slb.s1.small) です。 |
| ポートマッピング | サービスポートとコンテナーポートです。コンテナーポートは、バックエンドの Pod で公開されるポートと一致する必要があります。 | サービスポート:8080、コンテナーポート:80 |
作成されたサービスは、[アクセス制御] セクションに表示されます。[更新] または [削除] をクリックして、変更できます。
[作成] をクリックします。
NGINX アプリケーションへのアクセス
[完了] ウィザードページで、[詳細の表示] をクリックします。serverless-app-deployment は、デプロイメントページで確認できます。

NGINX アプリケーションにアクセスします。
クラスター詳細ページの左側ナビゲーションウィンドウで、[ネットワーク] > [Services] を選択します。[serverless-app-svc] Service を Services ページで特定します。

[外部エンドポイント] 列のアドレスをクリックして、ブラウザで NGINX アプリケーションにアクセスします。

Ingress を使用してアプリケーションにアクセスすることもできます。詳細については、「ALB Ingress を使用したサービスへのアクセス」をご参照ください。
ステップ 3:Pod の表示
クラスター詳細ページの左側ナビゲーションウィンドウで、[ワークロード] > [Pods] を選択します。
表示したい Pod を選択し、[操作] 列の [詳細] をクリックします。
テンプレートによって作成された Pod は、テンプレートを使用して管理してください。これらの Pod を直接変更または削除しないでください。
Pod 詳細ページで、Pod の詳細情報を表示します。

次のステップ
高度な Deployment 構成については、「イメージからステートレスアプリケーションを作成する」をご参照ください。
Ingress ベースのルーティングについては、「ALB Ingress を使用したサービスへのアクセス」をご参照ください。
サーバーレス Kubernetes クラスターを作成する: すべてのクラスターパラメーターの包括的なリファレンス