Container Service for Kubernetes (ACK) は、コンテナーを管理して高いパフォーマンスを確保するのに役立つマネージドサービスです。 これは、世界で初めて認定Kubernetes適合プログラムに合格したコンテナサービスの1つです。 ACKを使用して、エンタープライズレベルのKubernetesコンテナ化アプリケーションのライフサイクルを管理できます。 これにより、Kubernetesコンテナ化されたアプリケーションをクラウド上で効率的かつ簡単に実行できます。
ACKクラスタタイプ
ACKは、ACK管理クラスターとACK専用クラスターのタイプを提供します。 ACKマネージドクラスターには、ACK BasicクラスターとACK Proクラスターがあります。 次の表に、2つのクラスタータイプの違いを示します。
項目 | ACK専用クラスター | ACK管理クラスター |
クラスターとノードの管理 | マスターノードとワーカーノードを作成および管理する必要があります。 | ワーカーノードのみを作成する必要があります。 ACKは、マスターノードを作成および管理します。 |
クラスターインフラストラクチャを完全かつきめ細かく制御できますが、クラスターを計画および管理し、ノードを更新する必要があります。 | ACKはマスターノードを管理し、シンプルで費用対効果の高い 高可用性ソリューション。 | |
課金方法 | クラスター管理には課金されません。 ただし、マスターノード、ワーカーノード、およびその他の基本リソースの作成に使用されたリソースに対して課金されます。 |
|
使用シナリオ | Kubernetesが使用されるすべてのシナリオ | Kubernetesが使用されるすべてのシナリオ |
ユーザプロフィール |
|
|
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は、権限管理のためにリソースアクセス管理 (RAM) とロールベースのアクセス制御 (RBAC) を統合します。
ノードプール
ACKを使用すると、ノードプールの完全なライフサイクル管理が可能になり、クラスター内の各ノードプールの設定をカスタマイズできます。 たとえば、vSwitch、コンテナーランタイム、オペレーティングシステム、および ビジネス要件に基づいたノードプールのセキュリティグループ。 詳細については、「ノードプールの概要」をご参照ください。
アプリケーション管理
アプリケーションの作成: 画像またはテンプレートからさまざまな種類のアプリケーションを作成できます。 ACKを使用すると、環境変数、ヘルスチェック、ディスクのマウント、ロギングなどのアプリケーション構成をカスタマイズできます。
ライフサイクル管理: ACKを使用して、アプリケーションのライフサイクルを管理できます。 たとえば、アプリケーションの表示、更新、置換、削除、アプリケーションバージョンのロールバック、アプリケーションイベントの表示、ローリング更新の実行、トリガーを使用してアプリケーションを再デプロイできます。
ポッドスケジューリング: ACKは、ポッドアフィニティ、ノードアフィニティ、およびポッドアンチアフィニティに基づくポッドスケジューリングをサポートします。
ポッドスケーリング: 水平ポッドオートスケーラー (HPA) を使用して、ポッドを手動でスケーリングしたり、ポッドスケーリングを自動化したりできます。
アプリケーションリリース: ACKはカナリアリリースと青緑色の展開をサポートします。 これらの機能を使用して、アプリケーションリリースのライフサイクルをより適切に管理できます。
アプリケーションカタログ: ACKは、アプリケーションのデプロイとクラウドサービスの統合を容易にするアプリケーションカタログ機能を提供します。
アプリケーションセンター: アプリケーションセンターには、アプリケーションをデプロイしたり、アプリケーションのトポロジを監視したりするための統合管理パネルが用意されています。 アプリケーションセンターを使用して、継続的な展開シナリオで統一されたバージョン管理とロールバックを実装できます。
アプリケーションのバックアップとリカバリ: アプリケーションをバックアップし、バックアップデータからアプリケーションを復元できます。 詳細については、「ACKクラスターでのアプリケーションのバックアップと復元」をご参照ください。
Knative: KnativeはKubernetesベースのサーバーレスフレームワークです。 Knativeコンポーネントをデプロイした後、Knativeを使用してサービスとドライブイベントを管理できます。
ボリューム
Container Storage Interface (CSI) プラグインがサポートされています。 詳細については、「CSIの概要」をご参照ください。
ボリュームと永続ボリュームクレーム (PVC) の操作:
作成できます ブロックストレージボリューム、Apsara File storage NAS (NAS) ボリューム、およびObject Storage Service (OSS) ボリューム。
ボリュームをPVCにマウントできます。
ボリュームを動的に作成および移行できます。
スクリプトを実行することで、ボリュームとPVCを表示および更新できます。
ネットワーク
FlannelまたはTerwayプラグインを使用してコンテナネットワークを作成できます。 詳細については、「ネットワークの概要」をご参照ください。
サービスとポッドのCIDRブロックを指定できます。
ACKのネットワークポリシー機能を使用して、特定のアプリケーションへのアクセスを制御できます。 詳細については、「ACKクラスターでのネットワークポリシーの使用」をご参照ください。
ingressesをのために使用できます トラフィックのルーティング 詳細については、「Ingressの管理」をご参照ください。
実装できます DNSベースのサービス検出。 詳細については、「DNSの概要」をご参照ください。
GPU
ACKを使用すると、さまざまな異種コンピューティングリソースを集中的にスケジュール、管理、および保守できます。 これは、異種コンピューティングのためのACKクラスタにおけるGPUリソースの利用を大幅に改善する。 詳細については、「概要」をご参照ください。
O&Mとセキュリティ
可视性:
モニタリング: ACKは、Prometheus (Prometheus) のManaged Serviceを統合して、クラスター、ノード、アプリケーション、ポッドをモニタリングします。
ロギング: ACKはSimple Log Serviceを統合して、クラスターとコンテナーのログを収集および保存します。
Alerting: ACKは、クラスターイベントとコンテナメトリクスに基づくアラートをサポートします。 詳細については、「アラート管理」をご参照ください。
クラスター検査と診断
クラスターチェック: この機能を使用して、クラスターのアップグレードや移行などの操作を実行する前に、ACKクラスターが要件を満たしているかどうかを確認できます。
クラスターインスペクション: この機能を使用して、ACKクラスターのステータスを表示し、クラスター内の潜在的なリスク (クラウドリソースの割り当て不足やACKクラスター内のキーリソースの使用率の高さなど) を特定できます。 リスクをトラブルシューティングし、推奨されるソリューションに基づいて問題を修正できます。
クラスター診断: この機能を使用して、数回クリックするだけでノード、ポッド、サービス、Ingress、メモリ、およびネットワークを診断し、ACKクラスター内の問題を特定できます。
コスト分析: ACKは、クラスターのリソース使用量とコスト分布を視覚化し、リソース使用率を向上させます。
セキュリティセンター: ACKは、アプリケーションのセキュリティリスクを積極的に検査し、実行時の監視とアラートに関するセキュリティポリシーを提供します。
Sandboxed-Container: Sandboxed-Containerは、コンテナのセキュリティを強化するためにACKによって開発されたコンテナランタイムです。 Sandboxed-Containerを使用して、専用カーネルを持つサンドボックス化された軽量VMでアプリケーションを実行できます。 Sandboxed-Containerは、信頼できないアプリケーション、異常なアプリケーション、低パフォーマンスアプリケーション、およびユーザー間のワークロードを分離するのに適しています。
TEEベースの機密コンピューティング: ACKは Intel Software Guard Extensions (Intel SGX) に基づく機密コンピューティングのためのクラウドネイティブのオールインワンソリューション。 このソリューションは、信頼できるアプリケーションと機密コンピューティングタスクを開発、管理、配信する際に、データのセキュリティ、整合性、機密性を保証します。 ACKが提供する機密コンピューティング機能により、信頼できる実行環境を使用して機密データとコードを分離できます。
サービスアーキテクチャ
次の図は、ACKのアーキテクチャを示しています。
Container Registryは、クラウドネイティブアセットの安全なホスティングとライフサイクル管理を提供します。 Container RegistryはACKとシームレスに統合されており、クラウドネイティブシナリオでのイメージ配布のためのオールインワンソリューションを提供します。
Service Mesh (ASM) を使用するアプリケーションの集中トラフィック管理のためのマネージドサービスメッシュプラットフォームです。 microservicesアーキテクチャ。 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) は、ハイブリッドクラウド、マルチクラスター、 分散コンピューティングとディザスタリカバリのシナリオ。 すべてにデプロイされているサードパーティおよび自己管理Kubernetesクラスターを登録できます リージョンまたはすべてのタイプのインフラストラクチャにACK Oneがあります。 ACK Oneは、 オープンソースのKubernetesのAPI。 これにより、コンピューティングリソース、ネットワーク、ストレージ、セキュリティ、モニタリングデータ、ログ、ジョブ、アプリケーション、およびトラフィックを一元的に管理および維持できます。
クラウドネイティブAIスイートを使用して、AI関連のタスクを調整および管理し、コンテナ化された環境でさまざまな異種リソースをスケジュールおよび維持します。 コンポーネントセットは、AIプロジェクトの配信を大幅に加速し、異種コンピューティングリソースで構成されるクラスターのリソース利用率を向上させることができます。 ACKは、クラウドネイティブAI機能をサポートするために、複数のコンポーネント、拡張機能、カスタマイズ可能な構成を提供します。
ACK LingjunマネージドクラスターはACKに基づいて開発され、標準のKubernetesサービスにフルマネージドで可用性の高いコントロールプレーンを提供します。 ACK Lingjunマネージドクラスターを使用すると、Intelligent Computing LingjunノードをKubernetesクラスターのワーカーノードとして使用できます。
ACKを使用するAlibaba Cloudサービス
ACKクラスターを使用して、アプリケーション用のECSインスタンス、ネットワーク、ストレージリソースなどのリソースを作成できます。 次の図の情報に基づいて、サービスを最小限に抑えたAlibaba Cloudサービスのバンドルを作成し、クラウドネイティブシステム開発、セキュリティコンプライアンス、マイクロサービス、 可视性、ストレージ、コンピューティング、およびネットワーク。 テクニカルサポートは、ACKクラスターの開発と維持に役立ちます。
Alibaba Cloudが提供する可観測性サービス (ロギングサービスやモニタリングサービスなど) を使用することを推奨します。 これらの可観測性サービスを使用して、インフラストラクチャリソース、コンテナ、アプリケーションパフォーマンス、サービスなどのACKクラスターを監視できます。
次の表では、前の図に示したクラウドサービスについて説明します。
カテゴリ | 説明 |
コンピューティング | ECS、Elastic Bare Metal、およびElastic GPU Service: ノードプールにワーカーノードを提供します。 |
Elastic Container Instance: ACKサーバーレスクラスター用のelastic containerインスタンスを提供します。 | |
Auto Scaling: ノードプールの設定と自動スケーリングをサポートします。 | |
[ネットワーク] | Virtual Private Cloud (VPC): クラスターにプライベートネットワークを提供します。 |
Server Load Balancer (SLB): Application Load Balancer (ALB) 、Network Load Balancer (NLB) 、Classic Load Balancer (CLB) を含み、Kubernetes APIサーバーとアプリケーションを公開します。 | |
NAT Gateway: クラスター内のノードプールがインターネットにアクセスできるように、クラスターにIPアドレス変換サービスを提供します。 | |
Elastic IP Address (EIP): 個々のノードがインターネットと通信するためのパブリックIPアドレスを提供します。 | |
Storage | Elastic Block Storage (EBS): ワーカーノードにマウントしてストレージを拡張できるデータディスクを提供します。 |
NAS: ワークロードのファイルストレージを提供します。 | |
OSS: ワークロードの共有ストレージを提供します。 | |
Cloud Parallel File Storage (CPFS): ワークロードに共有ストレージを提供します。 | |
セキュリティ | RAM: RBACで動作する権限管理サービス。 |
Security Center: コンテナのセキュリティリスクを検出します。 | |
Key Management Service (KMS): ACKクラスター内のシークレットの暗号化を提供します。 | |
観察可能性 | Prometheus: ACKクラスターにPrometheusモニタリングサービスを提供し、クラスターのトポロジをモニタリングします。 |
Simple Log Service: ACKクラスターログを収集して保存します。 | |
クラウドネイティブアセット | Container Registry: コンテナイメージのイメージリポジトリを提供します。 |
その他 | Resource Orchestration Service (ROS): テンプレートを使用して、リソースのオーケストレーションを容易にします。 |
参照
参照 | 説明 |
メリット | ACKは、クラスター管理、リソーススケーリング、オールインワンコンテナ管理、およびセキュリティコンプライアンスのためのさまざまな強力な機能を提供します。 詳細については、「メリット」をご参照ください。 |
課金 | ACKクラスターを使用する場合、クラスター管理、ノード管理、および関連するクラウドリソースに対して課金されます。 詳細については、「課金」をご参照ください。 |
はじめに | ACKを使い始めることができます。 たとえば、ACKを使用してマジックキューブゲームをデプロイしたり、ステートレスアプリケーションをデプロイしたりできます。 詳細については、次をご参照ください: 入門。 |
操作ガイド | クラスタ、ノード、ノードプール、ネットワーク、アプリケーション、Knative、ストレージ、可観測性、コスト管理スイート、自動スケーリングなど、ACKのリソースと機能を使用するには、ACKのユーザーガイドを参照してください。 詳細については、次をご参照ください: ユーザーガイド。 |
ベストプラクティス | さまざまなシナリオでACKのベストプラクティスを参照して、クラスタ、ノード、ノードプール、ネットワーク、アプリケーション、Knative、ストレージ、可観測性、コスト管理スイート、自動スケーリングなど、ACKのリソースと機能を使用できます。 詳細については、「ベストプラクティス」をご参照ください。 |
開発者リソース | ACKコンソールとkubectlに加えて、APIを使用してACKにアクセスできます。 SDK、CLI、およびTerraform。 詳細については、次をご参照ください: 開発者リファレンス。 |
教材を学ぶ |