ACK Serverless は、ノード管理不要で Kubernetes ワークロードを実行できるサービスです。従量課金制を採用し、Pod の秒単位でのスケーリングが可能です。
プロダクト概要
2025年2月17日より、Alibaba Cloud ACK Serverless は、これまで ACK Serverless クラスターを作成したことのない新規ユーザーによるクラスターの作成を無効にします。 Container Compute Service (ACS) を通じてサーバーレスコンテナコンピューティングを利用できます。 ACS クラスターは、エンタープライズグレードの Kubernetes コンテナ化アプリケーションのライフサイクル全体の管理をサポートし、より強力な機能とサービスを提供します。 ACS の詳細については、「ACS 製品概要」をご参照ください。
ACK サーバーレス Kubernetes クラスターを作成していないユーザーの場合、新しいACK サーバーレス Kubernetes クラスターを作成するためのインターフェイスは利用できません。サーバーレスコンテナのコンピューティング機能を利用するには:
ACS クラスターを作成し、その中でサーバーレスリソースをご利用ください。
ACK Managed Cluster Pro Edition でサーバーレスコンピューティングを弾力的に使用します。
既存の ACK Serverless クラスター ユーザーの場合、現在ご利用中の ACK Serverless クラスター およびデフォルトクォータ内での新規クラスター作成は引き続きご利用いただけます。ドキュメントに記載された通りの操作を継続でき、サービス中断や調整は不要です。
詳細については、「[プロダクト変更] ACK Serverless の新規ユーザー向けクラスター作成機能廃止に関するお知らせ」をご参照ください。
サーバーレス Kubernetes は、Alibaba Cloud のサーバーレス Kubernetes コンテナ サービスです。サーバーレス Kubernetes の サーバーレス Kubernetes クラスター では、ノードの購入や管理、容量計画 を行うことなくコンテナアプリケーションをデプロイできます。アプリケーション用に設定された CPU およびメモリリソースには、従量課金が適用されます。サーバーレス Kubernetes クラスター は Kubernetes との完全な互換性を備えているため、インフラストラクチャではなくアプリケーションにフォーカスできます。
サーバーレス Kubernetes クラスターには、サーバーレス Kubernetes Basic クラスターとサーバーレス Kubernetes Pro クラスターの 2 つのエディションがあります。サーバーレス Kubernetes Pro クラスターは、サーバーレス Kubernetes Basic クラスターをベースに構築されたサーバーレス Kubernetes クラスターであり、SLA 付きでエンタープライズ本番環境向けの信頼性とセキュリティを強化します。サーバーレス Kubernetes Pro クラスターの詳細については、「クラスターの概要」をご参照ください。
主なメリット
|
メリット |
説明 |
|
すぐに利用可能 |
Kubernetes ノードやサーバーの管理を行わずに、すぐにクラスターを作成してアプリケーションをデプロイできます。 |
|
大規模な容量 |
追加の設定や容量計画なしで、1 クラスターあたり最大 50,000 個の Pod をサポートします。 重要 Pod が多数のサービスにマッピングされる場合は、最大 20,000 個までにすることを推奨します。 |
|
秒単位の弾力性 |
レイテンシのボトルネックなくトラフィックスパイクに対応するために、数千個の Pod を数秒以内に作成できます。 |
|
予測的スケーリング |
既存データからリソース使用量を予測し、トラフィックの急増に備えてリソースを事前に準備します。 |
|
ネイティブ互換性 |
Kubernetes と完全に互換があるため、ネイティブ Kubernetes アプリケーションをシームレスに移行でき、エコシステムのメリットも享受できます。 |
|
安全な隔離 |
Pod は ECI 上で実行されます。各 Pod は、強力に隔離された軽量な仮想サンドボックス内で実行されます。 |
|
コスト削減 |
アプリケーションがアイドル状態のときは課金されない従量課金制を採用しており、アイドルリソースコストを排除し、運用管理 (O&M) のオーバーヘッドを削減できます。 |
|
サービス統合 |
コンテナを Alibaba Cloud サービスと統合し、コンテナと VM 間の通信を有効化できます。 |
|
信頼性が高く、SLA が強化され、クラスター容量も拡張されています。Basic エディションから Pro エディションへのシームレスな移行が可能です。 |
ACK Serverless クラスター と ACK クラスターの比較
次の図は、左側に標準的な ACK クラスター、右側に ACK Serverless クラスター を示しています。
ユースケース
|
ユースケース |
説明 |
|
アプリケーションホスティング |
ACK Serverless クラスター では、ノード管理、メンテナンス、容量計画が不要なため、インフラストラクチャおよび運用管理 (O&M) コストを大幅に削減できます。 |
|
バースト性のあるワークロード |
オンライン教育や e コマースなど、バースト性のあるワークロードでは、ACK Serverless クラスター の秒単位でのスケーリングにより、計算コストを削減し、アイドル時の無駄を最小限に抑えながらトラフィックスパイクに対応できます。 詳細については、「自動スケーリングの概要」をご参照ください。 |
|
データ処理 |
Spark ジョブなどのデータ処理ワークロードでは、ACK Serverless クラスター を使用して Pod を迅速に起動し、タスクを処理できます。計算が完了すると Pod は解放され、課金が停止されるため、コストを削減できます。詳細については、「ACK Serverless を使用して Spark ジョブを作成する」をご参照ください。 |
|
CI/CD |
ACK Serverless クラスター 上に Jenkins や GitLab Runner などの継続的インテグレーション (CI) 環境を構築し、ソースコードのコンパイル、イメージのビルドおよびプッシュ、アプリケーションのデプロイを行うパイプラインを作成できます。各 CI タスクは安全に隔離され、固定のリソースプールが不要なため、計算コストを削減できます。詳細については、「ACK Serverless クラスターに Jenkins をデプロイしてアプリケーションをビルドおよびデプロイする」をご参照ください。 |
|
定期タスク |
ACK Serverless クラスター で定期タスクを実行すると、タスク完了後に課金が停止されます。固定のリソースプールが不要なため、リソースの無駄を回避できます。 詳細については、「CronHPA に基づくスケジュールされたスケーリング」をご参照ください。 |
主要機能
ACK Serverless クラスター は Kubernetes と完全に互換があります。本番ワークロードを ACK Serverless クラスター にデプロイする前に、以下の機能をご確認ください。
ECI プロファイル
ACK Serverless クラスター 内の Pod は ECI 上で実行されます。Pod およびクラスターの動作を制御するには、kube-system 名前空間内の eci-profile という名前の ConfigMap を設定します。
|
フィールド |
説明 |
|
vpcId |
Pod が配置される Virtual Private Cloud (VPC) の ID です。 |
|
securityGroupId |
セキュリティグループ の ID です。 |
|
vSwitchIds |
vSwitch の ID です。複数の ID をカンマ (,) で区切って指定します。これらの vSwitch に基づいて仮想ノードが生成されます。 |
|
selectors |
Pod セレクターです。名前空間およびラベルで Pod を選択し、アノテーションまたはラベルを自動的に追加します。 |
|
enableClusterIp |
ClusterIP を有効にするかどうかを指定します。デフォルト値は true です。 |
|
enableLogController |
Alibaba Cloud ログコントローラーを有効にするかどうかを指定します。デフォルト値は false です。 |
|
enablePVCController |
PVC コントローラーを有効にするかどうかを指定します。デフォルト値は false です。 |
|
enablePrivateZone |
PrivateZone サービス検出を有効にするかどうかを指定します。デフォルト値は false です。 |
|
featureGates |
不安定な機能のためのフィーチャーゲートです。 |
詳細については、「ECI の概要」をご参照ください。
仮想ノード
ACK Serverless クラスター では、ワーカーノードの管理が不要です。Kubernetes との互換性を確保するため、クラスターには弾力的スケーリング用の大規模な計算容量を持つ 仮想ノード が表示されます。仮想ノード は eci-profile ConfigMap の vSwitchIds フィールドに基づいて生成され、計算リソースを消費しません。
Pod 構成
ACK Serverless クラスター 内の Pod にアノテーションを追加して、動作をカスタマイズできます。
-
これらのアノテーションは、仮想ノード上の ECI ベースの Pod にのみ適用され、通常のノード上の Pod には適用されません。
-
アノテーションは Pod の
metadataフィールドの下に追加します。たとえば、Deployment を構成する場合、spec.template.metadataの下にアノテーションを追加します。 -
Pod アノテーションは、ECI プロファイル内の同じ設定をオーバーライドします。
|
パラメーター |
例となる値 |
説明 |
関連ドキュメント |
|
k8s.aliyun.com/eci-security-group |
sg-bp1dktddjsg5nktv**** |
セキュリティグループの ID です。 |
|
|
k8s.aliyun.com/eci-vswitch |
vsw-bp1xpiowfm5vo8o3c**** |
vSwitch ID です。マルチ AZ デプロイの場合は複数の ID を指定します。 |
|
|
k8s.aliyun.com/eci-schedule-strategy |
vSwitchOrdered |
マルチゾーンスケジューリング戦略です。有効な値:
|
|
|
k8s.aliyun.com/eci-ram-role-name |
AliyunECIContainerGroupRole |
他の Alibaba Cloud サービスにアクセスするための ECI Pod の RAM ロールです。 |
|
|
k8s.aliyun.com/eci-use-specs |
2-4Gi,4-8Gi,ecs.c6.xlarge |
ECI インスタンスの仕様です。複数の仕様をサポートします:vCPU-メモリの組み合わせまたは ECS インスタンスタイプ。 |
|
|
k8s.aliyun.com/eci-spot-strategy |
SpotAsPriceGo |
プリエンプティブルインスタンスポリシーです。有効な値:
|
|
|
k8s.aliyun.com/eci-spot-price-limit |
0.5 |
プリエンプティブルインスタンスの価格上限です。 説明
このアノテーションは、k8s.aliyun.com/eci-spot-strategy が SpotWithPriceLimit に設定されている場合にのみ有効です。 |
|
|
k8s.aliyun.com/eci-cpu-option-core |
2 |
物理 CPU コアの数です。 |
|
|
k8s.aliyun.com/eci-cpu-option-ht |
1 |
コアあたりのスレッド数です。 |
|
|
k8s.aliyun.com/eci-reschedule-enable |
"true" |
ECI Pod の再スケジュールを有効にするかどうかを指定します。 |
|
|
k8s.aliyun.com/pod-fail-on-create-err |
"true" |
作成に失敗した場合に Pod を Failed としてマークするかどうかを指定します。 |
|
|
k8s.aliyun.com/eci-image-snapshot-id |
imc-2zebxkiifuyzzlhl**** |
イメージキャッシュ の ID です。 説明
手動指定または自動マッチングをサポートします。自動マッチングを推奨します。 |
|
|
k8s.aliyun.com/eci-image-cache |
"true" |
自動的にイメージキャッシュをマッチングします。 説明
手動指定または自動マッチングをサポートします。自動マッチングを推奨します。 |
|
|
k8s.aliyun.com/acr-instance-id |
cri-j36zhodptmyq**** |
Container Registry Enterprise Edition インスタンスの ID です。 別のリージョンのインスタンスを指定する場合は、インスタンス ID の先頭にリージョン ID を付加します。例:「cn-beijing:cri-j36zhodptmyq****」。 |
シークレットを使用せずに Container Registry Enterprise Edition インスタンスからイメージをプルする |
|
k8s.aliyun.com/eci-eip-instanceid |
eip-bp1q5n8cq4p7f6dzu**** |
EIP インスタンスの ID です。 |
|
|
k8s.aliyun.com/eci-with-eip |
"true" |
EIP を自動的に作成および関連付けるかどうかを指定します。 |
|
|
k8s.aliyun.com/eip-bandwidth |
5 |
EIP の帯域幅です。 |
|
|
k8s.aliyun.com/eip-common-bandwidth-package-id |
cbwp-2zeukbj916scmj51m**** |
EIP 帯域幅プランの ID です。 |
|
|
k8s.aliyun.com/eip-isp |
BGP |
EIP 回線タイプです。従量課金 EIP のみで有効です。有効な値:
|
|
|
k8s.aliyun.com/eip-internet-charge-type |
PayByBandwidth |
EIP の課金方法です。有効な値:
|
|
|
k8s.aliyun.com/eci-enable-ipv6 |
"true" |
IPv6 アドレスを割り当てるかどうかを指定します。 |
|
|
k8s.aliyun.com/eci-ipv6-bandwidth-enable |
"true" |
ECI Pod の IPv6 パブリックネットワークアクセスを有効にするかどうかを指定します。 |
|
|
k8s.aliyun.com/eci-ipv6-bandwidth |
100M |
IPv6 アドレスの最大パブリック帯域幅です。 |
|
|
kubernetes.io/ingress-bandwidth |
40M |
インバウンド帯域幅です。 |
|
|
kubernetes.io/egress-bandwidth |
20M |
アウトバウンド帯域幅です。 |
|
|
k8s.aliyun.com/eci-extra-ephemeral-storage |
50Gi |
一時記憶領域のサイズです。 |
|
|
k8s.aliyun.com/eci-eviction-enable |
"true" |
一時記憶領域が不足している ECI Pod を自動的にエビクトするかどうかを指定します。 |
|
|
k8s.aliyun.com/eci-core-pattern |
/pod/data/dump/core |
コアダンプファイルが保存されるディレクトリです。 |
|
|
k8s.aliyun.com/eci-ntp-server |
100.100.*.* |
Network Time Protocol (NTP) サーバーです。 |
|
|
k8s.aliyun.com/plain-http-registry |
"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80" |
自己管理型イメージリポジトリのアドレスです。 このパラメーターを設定すると、自己管理型リポジトリから HTTP 経由でイメージをプルできます。これにより、プロトコルの不一致によるプル失敗を防ぎます。 |
|
|
k8s.aliyun.com/insecure-registry |
"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80" |
自己管理型イメージリポジトリのアドレスです。 このパラメーターを設定すると、自己署名証明書を使用する自己管理型リポジトリの証明書検証をスキップできます。これにより、証明書エラーによるプル失敗を防ぎます。 |
詳細については、「ECI Pod アノテーション」をご参照ください。
ネットワーク管理
デフォルトでは、ECI Pod はホストネットワークモードを使用し、vSwitch 上のエラスティックネットワークインターフェース (ENI) を介して、同一 VPC 内の ECS および RDS インスタンスと通信できます。
|
タイプ |
説明 |
|
Service |
|
|
Ingress |
|
|
サービス検出 |
Service ベースのサービス検出を利用するには、クラスター作成時に PrivateZone または CoreDNS を有効化します。また、ECI プロファイルを通じて PrivateZone を有効化するか、アドオン ページから CoreDNS をインストールすることもできます。 |
|
Elastic IP Address (EIP) |
ECI Pod に EIP を関連付けます。自動的に作成するか、既存の EIP をバインドします。 |
ストレージ管理
Pod に Alibaba Cloud ブロックストレージ および ファイルストレージ をマウントできます。
|
ストレージタイプ |
説明 |
|
Alibaba Cloud ブロックストレージ (ディスク) |
|
|
Alibaba Cloud ファイルストレージ (NAS) |
|
オブザーバビリティ
|
機能 |
説明 |
|
ログ |
ACK Serverless クラスター では、eci-profile ConfigMap を編集して Log Service を有効化し、Pod ログを収集できます。詳細については、「Pod 環境変数を使用してアプリケーションログを収集する」をご参照ください。 |
|
モニタリング |
クラスターモニタリングを行うには、arms-prometheus コンポーネントをインストールします。詳細については、「Managed Service for Prometheus」をご参照ください。 |
イメージ管理
-
ACK Serverless クラスター は、Pod 作成を高速化するためにイメージキャッシュをサポートします。詳細については、「イメージキャッシュを使用する」をご参照ください。
-
ACK Serverless クラスター で Container Registry (ACR) Enterprise Edition からイメージをプルする際は、シークレット不要のプルを設定して、セットアップを簡素化できます。
自動スケーリング
ACK Serverless クラスター には物理ノードがないため、ノードの容量計画は不要です。Horizontal Pod Autoscaler (HPA) または CronHPA を設定して、必要に応じて Pod をスケーリングします。詳細については、「自動スケーリングの概要」をご参照ください。
認可
アプリケーション Pod から他の Alibaba Cloud サービスにアクセスするには、Service Account 用 RAM ロール (RRSA) を設定します。
クラスター管理
|
タイプ |
説明 |
|
インテリジェント O&M |
インテリジェント O&M を使用して、ACK Serverless クラスター の正常性を定期的にチェックしたり、アップグレードや移行の事前チェックを実行したりできます。 |
|
アップグレード |
ACK Serverless クラスター は、サービス中断なくシームレスにアップグレードできます。 |
|
プロ版 |
信頼性、SLA、クラスター容量が強化されています。 |
|
移行 |
試用または初期の ACK Serverless Basic Edition クラスター を、サービス保証を強化するために ACK Serverless Pro Edition にシームレスに移行できます。 |
コンポーネント管理
ACK Serverless クラスター は、クラスター機能を拡張するコンポーネントを提供します。必要に応じて、これらをデプロイ、アップグレード、またはアンインストールできます。詳細については、「コンポーネントを管理する」をご参照ください。
マネージドコンポーネント
ACK Serverless クラスター は一部のシステムコンポーネントを管理するため、アプリケーションに集中できます。ACK Serverless クラスター 内の Kube Scheduler、Cloud Controller Manager、Kube Controller Manager、Kube API Server などのコア Kubernetes コンポーネントはマネージドされています。ACK Serverless クラスター では、ストレージ、ネットワーキング、モニタリングコンポーネントのマネージドバージョンを段階的に展開する予定です。
マネージドコンポーネントは、クラスター内に ClusterRole、ClusterRoleBinding、ServiceAccount、Service、ConfigMap などのオブジェクトを作成しますが、これらのオブジェクトは ECI リソースを消費しません。これらのオブジェクトを変更しないでください。
マネージドコンポーネントは ACK Serverless によってデプロイされますが、ACK Serverless クラスター 内の同じ API を通じてアクセスできます。メリット:
-
ご利用のアカウントから ECI インスタンスリソースを消費しないため、コストを削減できます。
-
自動的にデプロイされ、最適な状態で維持されます。
-
高可用性アーキテクチャをサポートします。
アプリケーション管理
ACKコンソール の Marketplace から Helm アプリケーションをインストールし、Helm ページで管理できます。詳細については、「Helm を使用してアプリケーションデプロイを簡素化する」をご参照ください。
課金
ACK Serverless クラスター は Basic および Pro の 2 つのエディションで提供されています。課金対象項目および料金はエディションによって異なります。詳細については、「ACK Serverless クラスターの課金」をご参照ください。
制限事項
ACK Serverless クラスター の以下の制限事項にご注意ください。
-
DaemonSet ワークロードはサポートされていません。回避策としてサイドカーコンテナを使用してください。
-
Pod の
マニフェストでHostPathまたはHostNetworkを指定することはできません。 -
特権コンテナはサポートされていません。特定の機能を追加するには、代わりにセキュリティコンテキストを使用してください。
説明特権コンテナ機能は内部プレビュー中です。この機能をお試しになりたい場合は、チケットを送信してください。
-
NodePort Service およびセッション保持はサポートされていません。
-
中国 (深セン Finance) リージョンおよび China GovCloud リージョンはサポートされていません。
お問い合わせ
ASK クラスターについてご質問がある場合は、DingTalk グループ 31544226 にご参加ください。