Container Service for Kubernetes (ACK) は、Certified Kubernetes Conformance Program に参加した世界初のサービスの 1 つです。ACK は、高性能なコンテナー化アプリケーション管理サービスを提供し、企業がコンテナー化アプリケーションのライフサイクルを管理し、クラウドにコンテナー化アプリケーションを効率的にデプロイできるようにします。
ACK クラスタタイプ
Container Service for Kubernetes は、ACK マネージドクラスターと ACK 専用クラスターを提供します。ACK マネージドクラスターには、ACK Basic クラスターと ACK Pro クラスターが含まれます。
項目 | ACK マネージドクラスター | ACK 専用クラスター |
クラスターとノードの管理 | ワーカーノードを作成するだけで済みます。ACK はマスターノードを作成および管理します。 | マスターノードとワーカーノードを作成および管理する必要があります。 |
このタイプのクラスターはシンプルで費用対効果が高く、高可用性です。コントロールプレーンを管理する必要はありません。 | クラスターインフラストラクチャを完全に詳細に制御できますが、クラスターを計画および管理し、ノードを更新する必要があります。 | |
課金方法 |
| クラスター管理に対して課金されません。ただし、マスターノード、ワーカーノード、およびその他の基本リソースの作成に使用されるリソースに対して課金されます。 |
ユーザープロファイル |
|
|
ACK マネージドクラスターのアーキテクチャ
ACK は ACK マネージドクラスターのコントロールプレーンを管理し、安定した、高可用性、高性能、安全な Kubernetes サービスを提供します。管理対象コンポーネントには、kube-apiserver、kube-controller-manager、kube-scheduler、etcd が含まれます。各 ACK マネージドクラスターのコントロールプレーンには、少なくとも 2 つの kube-apiserver コンポーネントと 3 つの etcd コンポーネントが含まれており、これらは異なるゾーンにデプロイされてゾーンレベルでの高可用性を確保します。ACK はコントロールプレーンのステータスをアクティブに監視し、脆弱性パッチをインストールし、コントロールプレーンにサービスレベルアグリーメント (SLA) を提供します。
主な機能
クラスター管理
クラスターの作成: ビジネス要件に基づいてさまざまなタイプのクラスターを作成できます。ACK では、カスタムクラスター設定を構成し、さまざまなタイプの Elastic Compute Service (ECS) インスタンスをワーカーノードとして選択できます。詳細については、「ACK マネージドクラスターを作成する」および「ACK 専用クラスターを作成する (廃止)」をご参照ください。
クラスターのアップグレード: クラスターの Kubernetes バージョンを手動または自動でアップグレードできます。ACK を使用すると、システムコンポーネントを一元的に更新できます。詳細については、「ACK クラスターを手動でアップグレードする」および「クラスターを自動的にアップグレードする」をご参照ください。
自動スケーリング: コンソールでクラスターを垂直方向にスケーリングして、予期しないビジネス変動に対応できます。ビジネスのサービスレベルのアフィニティルールと水平スケーリング設定を構成することもできます。
スケジューリング: ACK は、さまざまなエラスティックリソースのハイブリッドスケジューリング、異種リソースの詳細なスケジューリング、バッチコンピューティングタスクのスケジューリングをサポートしています。これにより、アプリケーションのパフォーマンスとクラスター全体のリソース使用率が向上します。
マルチクラスター管理: データセンターにデプロイされたクラスターと、複数のクラウドまたはリージョンにあるクラスターを一元的に登録できます。
権限管理: ACK は、権限管理のために Resource Access Management (RAM) とロールベースアクセス制御 (RBAC) を統合しています。
ノードプール
ノードプールのライフサイクルを管理できます。クラスター内のノードプールに、vSwitch、ランタイム、オペレーティングシステム、セキュリティグループなど、さまざまな仕様を構成できます。詳細については、「ノードプール」をご参照ください。
アプリケーション管理
アプリケーションの作成: イメージまたはテンプレートからさまざまなタイプのアプリケーションを作成できます。ACK では、環境変数、ヘルスチェック、ディスクマウント、ロギングなど、カスタムアプリケーション設定を構成できます。
ライフサイクル管理: ACK を使用して、アプリケーションのライフサイクルを管理できます。たとえば、アプリケーションの表示、更新、置換、削除、アプリケーションバージョンのロールバック、アプリケーションイベントの表示、ローリングアップデートの実行、トリガーを使用したアプリケーションの再デプロイを行うことができます。
Pod スケジューリング: ACK は、Pod アフィニティ、ノードアフィニティ、Pod アンチアフィニティに基づく Pod スケジューリングをサポートしています。
アプリケーション Pod のスケーリング: アプリケーション Pod の数を手動で、または Horizontal Pod Autoscaler (HPA) を使用してスケーリングできます。
アプリケーションリリース: ACK は、カナリアリリースとブルーグリーンデプロイメントをサポートしています。これらの機能を使用して、アプリケーションリリースライフサイクルをより効率的に管理できます。
アプリケーションカタログ: ACK は、アプリケーションのデプロイとクラウドサービスの統合を容易にするアプリケーションカタログ機能を提供します。
アプリケーションセンター: アプリケーションセンターは、アプリケーションをデプロイし、アプリケーションのトポロジーを監視するための中央管理パネルを提供します。アプリケーションセンターを使用して、継続的デプロイシナリオでの一元化されたバージョン管理とロールバックを容易にすることができます。
アプリケーションのバックアップとリカバリ: アプリケーションをバックアップし、バックアップデータからアプリケーションを復元できます。詳細については、「アプリケーションのバックアップと復元」をご参照ください。
ストレージ
Container Storage Interface (CSI) プラグインがサポートされています。詳細については、「ストレージ」をご参照ください。
ボリュームと永続ボリューム要求 (PVC) に対する操作:
次のタイプのボリュームを作成できます。ブロックストレージ、Apsara File Storage NAS (NAS)、Object Storage Service (OSS)、Cloud Paralleled File System (CPFS)。
ボリュームを PVC にマウントできます。
ボリュームを動的に作成および移行できます。
スクリプトを実行して、ボリュームと PVC を表示および更新できます。
ネットワークコンポーネント
Flannel と Terway がサポートされています。詳細については、「ネットワーク」をご参照ください。
サービスとポッドの CIDR ブロックを指定できます。
ネットワークポリシー機能を使用できます。詳細については、「ACK クラスタでネットワークポリシーを使用する」をご参照ください。
Ingress を使用できます。詳細については、「Ingress 管理」をご参照ください。
DNS ベースのサービスディスカバリを実行できます。詳細については、「DNS ベースのサービスディスカバリ」をご参照ください。
GPU を使用すると、さまざまな異種計算リソースを集中管理方式でスケジュール、管理、および維持できます。これにより、異種計算用の ACK クラスタにおける GPU リソースの利用率が大幅に向上します。
Knative: Knative は Kubernetes ベースのサーバーレス フレームワークです。Knative コンポーネントをデプロイした後、Knative を使用してサービスを管理し、イベントを推進できます。
O&Mとセキュリティ
可観測性:
モニタリング: ACK は Managed Service for Prometheus (Prometheus) と統合して、クラスター、ノード、アプリケーション、およびポッドを監視します。
ロギング: ACK は Simple Log Service (SLS) と統合して、クラスターとコンテナーのログを収集および保存します。
アラート: ACK は、クラスターイベントとコンテナーメトリックに基づくアラートをサポートしています。詳細については、「アラート管理」をご参照ください。
クラスターの検査と診断
クラスターチェック: この機能を使用して、クラスターのアップグレードや移行などの操作を実行する前に、ACK クラスターが要件を満たしているかどうかを確認できます。
クラスター検査: この機能を使用して、ACK クラスターのステータスを表示し、クラウドリソースのクォータ不足や ACK クラスター内の主要リソースの高使用率など、クラスター内の潜在的なリスクを特定できます。推奨されるソリューションに基づいて、リスクのトラブルシューティングを行い、問題を修正できます。
クラスター診断: この機能を使用して、数回クリックするだけでノード、ポッド、サービス、Ingress、メモリ、およびネットワークを診断し、ACK クラスターの問題を特定できます。
コストスイート: ACK は、クラスターのリソース使用量とコスト配分を視覚化し、リソース使用率を向上させます。
セキュリティセンター: ACK は、アプリケーションのセキュリティリスクを積極的に検査し、ランタイム監視とアラートのためのセキュリティポリシーを提供します。
サンドボックスコンテナー: サンドボックスコンテナーは、コンテナーセキュリティを強化するために ACK によって開発されたコンテナーランタイムです。サンドボックスコンテナーを使用して、専用のカーネルを持つサンドボックス化された軽量 VM でアプリケーションを実行できます。サンドボックスコンテナーは、信頼できないアプリケーション、異常なアプリケーション、低パフォーマンスのアプリケーション、およびユーザー間のワークロードを分離するのに適しています。
TEE ベースの機密コンピューティング: ACK は、Intel Software Guard Extensions (Intel SGX) に基づく機密コンピューティング向けのクラウドネイティブのオールインワンソリューションを提供します。このソリューションは、信頼できるアプリケーションと機密コンピューティングタスクを開発、管理、および配信する際のデータセキュリティ、整合性、および機密性を保証します。ACK によって提供される機密コンピューティング機能により、信頼できる実行環境を使用して機密データとコードを分離できます。
サービスアーキテクチャ
次の図は、Container Service for Kubernetes のアーキテクチャを示しています。
Container Registry は、クラウドネイティブ資産の安全なホスティングとライフサイクル管理を提供します。Container Registry は ACK とシームレスに統合されており、クラウドネイティブシナリオにおけるイメージ配信のためのオールインワンソリューションを提供します。
Service Mesh (ASM) は、マイクロサービス アーキテクチャを使用するアプリケーションの集中型トラフィック管理のためのマネージドサービスメッシュプラットフォームです。ASM はオープンソースの Istio と互換性があり、マルチクラスターのトラフィック管理をサポートしています。また、ASM を使用すると、コンテナ化されたアプリケーションと VM 上で実行されるアプリケーション間の通信を集中管理できます。
ACK Serverless は、エラスティックコンピューティングアーキテクチャに基づいて Alibaba Cloud が提供するサーバーレス Kubernetes サービスです。ACK Serverless を使用すると、クラスターを管理または保守することなく、コンテナ化された Kubernetes アプリケーションを作成できます。
ACK Edge は、標準の Kubernetes ランタイム環境に基づくコンテナサービスです。クラウド、エッジ、および端末間のアプリケーション配信と O&M を調整します。また、このサービスはエッジでのノードの自律性を強化します。
Distributed Cloud Container Platform for Kubernetes (ACK One) は、ハイブリッドクラウド、マルチクラスター、分散コンピューティング、およびディザスタリカバリシナリオにおけるコンテナ管理要件を満たすために Alibaba Cloud によって開発されたエンタープライズクラスのクラウドネイティブコンテナプラットフォームです。ACK One を使用すると、すべてのリージョンまたはすべてのタイプのインフラストラクチャにデプロイされている外部 Kubernetes クラスターを登録できます。ACK One は、オープンソース Kubernetes のAPI と互換性があります。これにより、コンピューティングリソース、ネットワーク、ストレージ、セキュリティ、モニタリング、ログ、ジョブ、アプリケーション、およびトラフィックを集中管理できます。
クラウドネイティブ AI スイートは、AI 関連タスクのオーケストレーションと管理、およびコンテナ化環境におけるさまざまな異種リソースのスケジューリングと保守に使用されます。このコンポーネントセットは、AI プロジェクトの配信を大幅に加速し、異種コンピューティングリソースで構成されるクラスターのリソース使用率を向上させることができます。ACK は、クラウドネイティブ AI 機能をサポートするために、複数のコンポーネント、拡張機能、およびカスタマイズ可能な構成を提供します。
ACK 凌雲マネージドクラスターは、Container Service for Kubernetes に基づいて開発されており、完全に管理された高可用性のコントロールプレーンを備えた標準の Kubernetes サービスを提供します。ACK 凌雲マネージドクラスターを使用すると、インテリジェントコンピューティング凌雲ノードを Kubernetes クラスターのワーカーノードとして使用できます。
ACK と連携する Alibaba Cloud サービス
ACK クラスタを使用して、アプリケーション用の ECS インスタンス、ネットワーク、ストレージリソースなどのリソースを作成できます。次の図に示すように、クラウドネイティブ システム開発、セキュリティコンプライアンス、マイクロサービス、可観測性、ストレージ、コンピューティング、ネットワークにおける技術サポートを受けるために必要な最小限のサービスを含むバンドルを作成できます。技術サポートは、ACK クラスタをより効率的に開発および維持するのに役立ちます。
ロギングサービスとモニタリングサービスを含む、Alibaba Cloud が提供する可観測性サービスを使用することをお勧めします。これらの可観測性サービスを使用して、インフラストラクチャリソース、コンテナー、アプリケーションパフォーマンス、サービスなど、ACK クラスタを監視できます。
次の表は、前の図のクラウドサービスについて説明しています。
カテゴリ | 説明 |
コンピューティング | ECS、Elastic Bare Metal、Elastic GPU Service: ノードプールにワーカーノードを提供します。 |
Elastic Container Instance: Serverless Kubernetes クラスターに Elastic Container Instance を提供します。 | |
Auto Scaling: ノードプールの構成と Auto Scaling をサポートします。 | |
ネットワーク | VPC: クラスタにプライベートネットワークを提供します。 |
SLB: ALB、NLB、CLB が含まれ、Kubernetes API サーバーおよびアプリケーションを公開します。 | |
NAT ゲートウェイ: クラスタに IP アドレス変換サービスを提供します。これにより、クラスタ内のノードプールはインターネットにアクセスできます。 | |
EIP: 個々のノードがインターネットにアクセスするためのパブリック IP アドレスを提供します。 | |
ストレージ | EBS (Elastic Block Storage): ワーカーノードにマウントしてストレージを拡張できるデータディスクを提供します。 |
NAS: ワークロードにファイルストレージを提供します。 | |
OSS: ワークロードに共有ストレージを提供します。 | |
CPFS (Cloud Parallel File Storage): ワークロードに共有ストレージを提供します。 | |
セキュリティ | RAM: RBAC と連携できる権限管理サービスです。 |
セキュリティセンター: コンテナーのセキュリティリスクを検出します。 | |
KMS (Key Management Service): ACK クラスタのシークレットの暗号化を提供します。 | |
可観測性 | Prometheus: Prometheus モニタリングサービスを提供し、ACK クラスタのトポロジーを監視します。 |
SLS: ACK クラスタログを収集して保存します。 | |
クラウドネイティブアセット | Container Registry: コンテナイメージのイメージリポジトリを提供します。 |
その他 | ROS (Resource Orchestration Service): テンプレートを使用してリソースオーケストレーションを容易にします。 |
リファレンス
項目 | 説明 |
使用上の注意 |
|
動的なアナウンスとリリースノート | |
リージョンとタイムゾーン | ACK でサポートされているリージョンとタイムゾーンの詳細については、「サポートされているリージョン」と「タイムゾーン」をご参照ください。 |
スタートガイド | ACK を使用して ACK クラスタを作成および使用することができます。たとえば、ACK を使用してルービックキューブゲームをデプロイできます。詳細については、「スタートガイド」をご参照ください。 |
Kubernetes バージョン | ACK は、オープンソースの Kubernetes バージョンの反復に基づいて、Kubernetes バージョンの対応するテクニカルサポートを更新します。詳細については、「Kubernetes バージョンのサポート」をご参照ください。 |
ベストプラクティス | さまざまなシナリオで ACK のリソースと機能を使用する方法について、ACK のベストプラクティスを参照できます。リソースと機能には、クラスタ、ノード、ノードプール、ネットワーク、アプリケーション、Knative、ストレージ、可観測性、コスト管理スイート、および自動スケーリングが含まれます。詳細については、「ベストプラクティス」をご参照ください。 |
開発者向けリファレンス | ACK コンソールと kubectl に加えて、API、SDK、CLI、および Terraform を使用して Container Service for Kubernetes にアクセスできます。詳細については、「開発者向けリファレンス」をご参照ください。 |
課金 | ACK クラスタを使用する場合、クラスタ管理と関連するクラウドリソースに対して課金されます。詳細については、「課金」をご参照ください。 |
Learning materials |
DingTalk グループ 53765001287 を検索するか、モバイルフォンで [ACK DingTalk グループ] をクリックして DingTalk グループに参加し、Container Service for Kubernetes の専門家に連絡して技術サポートを受けてください。