すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:用語集

最終更新日:Mar 04, 2025

Container Service for Kubernetes (ACK) を使い始める前に、基本的な概念と用語をよく理解しておくことをお勧めします。このトピックでは、ACK で一般的に使用される基本的な概念と用語について説明します。

  • クラスター

    • クラスターは、クラウド リソースの集合であり、コンテナ化されたアプリケーションをデプロイするために使用されます。 クラスターには、Elastic Compute Service (ECS) インスタンス、Server Load Balancer (SLB) インスタンス、仮想プライベートクラウド (VPC) などのリソースが含まれます。

      次の表に、ACK が提供するクラスターの種類とその説明を示します。

      クラスターの種類

      説明

      ACK マネージド Pro クラスター

      このクラスターの種類は、ACK マネージド ベーシッククラスター上に構築され、エンタープライズグレードの環境と大規模なワークロードの信頼性とセキュリティを強化します。 Alibaba Cloud は、ACK Pro クラスターに対して、補償条項を含むサービスレベル契約 (SLA) を提供しています。

      ACK マネージド ベーシッククラスター

      ACK は、ACK マネージド ベーシッククラスターの コントロールプレーン を作成および維持します。 ユーザーは ワーカーノード を作成および維持するだけで済みます。 ACK ベーシッククラスターを使用すると、ビジネスを便利に、かつリソース コストを抑えて実行できます。

      ACK 専用クラスター

      ACK 専用クラスターを作成する場合は、3 つの コントロールプレーン と適切な数の ワーカーノード を作成する必要があります。 これにより、クラスター インフラストラクチャをきめ細かく制御できます。 ただし、クラスターの計画と管理、およびノードの更新は、自分で行う必要があります。

      サンドボックス コンテナをサポートする ACK クラスター

      この種類のクラスターは、ECS ベアメタルインスタンス上でサンドボックス コンテナを実行します。 これにより、負荷が大きく、高帯域幅が必要なシナリオで、コンテナの高パフォーマンスが保証されます。

      機密コンピューティング用の ACK クラスター

      この種類のクラスターは、インテル ソフトウェア・ガード・エクステンションズ (Intel SGX) に基づく機密コンピューティング機能を提供し、コードとデータを保護します。 この種類のクラスターは、データ保護、ブロックチェーン、鍵管理、知的財産権、ゲノミクス コンピューティングなどのシナリオに適しています。

      ACK Edge クラスター

      ACK Edge クラスターを使用して、クラウド内のサービスとエッジのサービスを調整できます。 ACK Edge クラスターは、ノードの自律性、セルベースの管理、ネットワーク トラフィック管理を提供し、コードを書き直すことなくエッジでリソースをデプロイおよび管理するために使用できるネイティブ API をサポートします。 これにより、エッジ コンピューティングのシナリオで、アプリケーション ライフサイクル管理とリソース スケジューリングのためのネイティブで一元的な方法が提供されます。

      ACK Serverless クラスター

      ACK Serverless クラスターは、コントロールプレーン や ワーカーノード を作成する必要がないインスタンス化です。 ACK コンソールまたは CLI を使用してコンテナのリソースを設定し、アプリケーションの コンテナ イメージ を指定し、外部サービスの提供方法を設定し、アプリケーションを起動するだけで済みます。

      ACK One 登録済みクラスター

      ACK に外部 Kubernetes クラスターを登録し、クラスターを一元管理できます。 これにより、データセンターまたはサードパーティ クラウドにある Kubernetes クラスターを管理できます。

  • ノード

    • ノードは、Docker Engine がインストールされており、コンテナをホストおよび管理するために使用できる VM または物理サーバーです。 ACK クラスターにノードを追加すると、ACK はノードに エージェント プログラム をインストールし、クラスターにノードを登録します。 ビジネス要件に基づいて、ACK クラスター内のノードの数を増減できます。

  • ノードプール

    • ノードプールは、同一の構成を共有するノードの集合であり、アップグレードやスケーリングなどの操作のためにノードを一元管理できます。 次の自動 O&M 機能を使用して、運用コストを削減できます。

      • OS の Common Vulnerabilities and Exposures (CVE) の自動パッチ適用

      • 障害が発生したノードの自己回復

      • kubelet と containerd のバージョンの自動更新

      詳細については、「ノードプール」をご参照ください。

  • VPC

    • VPC は、クラウド上で制御する、論理的に分離された仮想ネットワーキング環境です。 VPC の CIDR ブロック 、 ルートテーブル 、 ゲートウェイ は完全にカスタマイズ可能です。 ECS インスタンス、SLB インスタンス、ApsaraDB RDS (RDS) インスタンスなど、Alibaba Cloud リソースを VPC にデプロイできます。

  • セキュリティグループ

    • セキュリティグループは仮想ファイアウォールとして機能し、ステートフル パケット インスペクション (SPI) と パケットフィルタリング 機能を提供します。 セキュリティグループを使用して、クラウド内の セキュリティドメイン を定義できます。 セキュリティグループは、同じ リージョン に存在するインスタンスの論理的に分離されたグループです。 セキュリティグループ内のすべてのインスタンスは相互に信頼されており、同じ セキュリティグループルール で保護されています。

  • アプリケーション カタログ

    • アプリケーション カタログは、ACK がアプリケーションのデプロイを容易にするために提供する機能です。 アプリケーション カタログは Helm と統合されており、Helm チャートのインストールに役立つ GUI などの拡張機能を提供します。

  • オーケストレーション テンプレート

    • オーケストレーション テンプレートを使用して、Kubernetes 構成を YAML 形式で保存できます。

  • Knative

    • Knative は、Kubernetes ベースの サーバーレス フレームワークです。 Knative の目的は、サーバーレス アプリケーション向けの クラウドネイティブ でクロスプラットフォームの オーケストレーション 標準を作成することです。

  • Kubernetes

    • Kubernetes は、コンテナ化された ワークロード と サービス を管理できる、オープンソースのポータブルで拡張可能なプラットフォームです。 Kubernetes は、宣言型構成と自動化を容易にします。

  • コンテナ

    • コンテナは、アプリケーションとそのランタイム依存関係をまとめてパッケージ化するために使用されます。 1 つのノードで複数のコンテナを実行できます。

  • イメージ

    • コンテナ イメージ は、アプリケーション パッケージの標準形式です。 コンテナ イメージ は、アプリケーションとそのすべてのソフトウェア依存関係をカプセル化したバイナリ データを表します。 Docker Hub、Container Registry、またはプライベート イメージ レジストリでホストされている カスタム イメージ からアプリケーションをデプロイできます。 イメージ ID は、イメージ レジストリの URI とイメージ タグ で構成される一意の識別子です。 デフォルトのイメージ タグ は latest です。

  • イメージ レジストリ

    • イメージ レジストリ は、Kubernetes によって提供される コンテナ イメージ と、コンテナからビルドされたイメージを格納します。

  • コントロールプレーン

    • コントロールプレーン は、クラスター内の ワーカーノード とコンポーネントを管理します。 コンポーネントには、kube-apiserver、kube-scheduler、kube-controller-manager、etcd、コンテナ ネットワーク プラグインが含まれます。

  • ワーカーノード

    • ワーカーノード は、ワークロードを実行し、コントロールプレーン と通信する VM または物理ノードです。 ワーカーノード は、スケジュールされた ポッド をホストし、コントロールプレーン と通信します。 ワーカーノード は、Docker ランタイム環境、kubelet、kube-proxy などのコンポーネント、およびその他のオプションのコンポーネントを実行します。

  • 名前空間

    • 名前空間 は、クラスター リソースを仮想の分離されたスペースに分割するために使用されます。 デフォルトでは、Kubernetes クラスターは、default、kube-system、kube-public の 3 つの 名前空間 で初期化されます。 クラスター 管理者 は、新しい 名前空間 を作成できます。

  • ポッド

    • ポッド は、Kubernetes でアプリケーション用に作成または管理できる最小のデプロイ可能な単位です。 ポッド は、1 つ以上の コンテナ 、 ストレージ リソース、一意の IP アドレス 、およびコンテナの実行方法を指定する構成をカプセル化します。

  • レプリケーションコントローラー

    • レプリケーションコントローラー は、指定された数の ポッド レプリカが Kubernetes クラスターで常に実行されていることを保証します。 つまり、レプリケーションコントローラーは、実行中の ポッド レプリカの数を監視し、指定された数に調整します。 レプリケーションコントローラーでは、実行中の ポッド レプリカの数を 1 以上に設定する必要があります。 実行中の ポッド レプリカの数が指定した数より少なくなると、レプリケーションコントローラーは新しい ポッド レプリカを起動します。 ポッド レプリカの数が指定した数を超えると、レプリケーションコントローラーは冗長な ポッド レプリカを終了します。

  • レプリカセット

    • レプリカセット は レプリケーションコントローラー の後継であり、より多くのセレクターの種類をサポートします。 レプリカセット は単独ではデプロイされませんが、デプロイメント によって使用され、目的の数の ポッド の 可用性 を保証します。

  • ワークロード

    • ワークロード は、Kubernetes で実行されるアプリケーションです。 次の表に、Kubernetes の ワークロード の種類を示します。

      ワークロードの種類

      説明

      デプロイメント

      デプロイメント は、Kubernetes クラスターで ワンタイムタスク を実行します。 デプロイメント は、同じ機能を持つが互いに独立しているアプリケーションを実行するのに適しています。

      StatefulSet

      StatefulSet は、アプリケーションの順序付けられた デプロイメント 、 スケーリング 、 ローリングアップデート を保証します。 ボリューム を使用して ワークロード のデータを永続化する場合、ワークロードの種類として StatefulSet を選択できます。

      DaemonSet

      DaemonSet は、クラスター内のすべてまたは一部の ノード で ポッド が実行されるようにします。 デプロイメント とは異なり、DaemonSet は指定された ノード に ポッド を作成し、指定されたすべての ノード で DaemonSet ポッド が実行されるようにします。 DaemonSet は、Kubernetes クラスターのログ記録と監視に適しています。

      ジョブ

      ジョブ は ワンタイムタスク を実行します。 ジョブ を使用して、複数の ポッド を並列で実行できます。

      CronJob

      CronJob は、スケジュール に基づいて定期的な操作または反復操作を実行します。 CronJob は、データのバックアップやメールの送信などのタスクに適しています。

      カスタムリソース定義 (CRD)

      CRD を使用して、サードパーティの ワークロード を Kubernetes に追加できます。 CRD は、カスタム リソース を定義する方法を提供します。

  • ラベル

    • ラベル は、リソース オブジェクトに追加される キーと値のペア です。 ラベル は、ユーザーにとって有用で関連性の高いオブジェクトの 属性 を指定することを目的としています。 ラベル は、コア システムに セマンティクス を意味するものではありません。 オブジェクトの作成時にラベルをオブジェクトに追加し、後でいつでもラベルを変更できます。 リソース オブジェクトに複数のラベルを追加する場合、各ラベルのキーは一意である必要があります。

  • サービス

    • サービス は、バックエンド ポッド のセットを公開するための抽象的な方法を表します。 サービス が リクエスト を受信すると、kube-proxy は サービス の セレクターに一致するバックエンド ポッド を選択し、サービス 構成で指定された ポートに リクエスト を送信します。

  • Ingress

    • Ingress は、クラスター内の サービス への外部アクセスを管理するルールの集合です。 Ingress を使用すると、サービス の外部からアクセス可能な URL を構成し、トラフィックのバランスを取り、SSL 接続を実行し、名前ベースの仮想ホスティングを提供できます。 クラスターの API サーバーに HTTP Post リクエストを送信することで、Ingress を作成できます。 Ingress コントローラーは、通常はロードバランサーを使用して、Ingress を実行する役割を担います。 エッジ ルーターまたは追加の フロントエンド を構成して、 高可用性 のトラフィックを処理することもできます。

  • ConfigMap

    • ConfigMap を使用して、属性 などのきめ細かい情報を格納できます。 ConfigMap を使用して、構成ファイルや JSON オブジェクトなどの粗い情報を格納することもできます。 ConfigMap を使用して、機密性のない暗号化されていない構成情報を格納できます。

  • シークレット

    • シークレット は、パスワードや 証明書 などの機密情報を格納および管理するために使用されます。

  • ボリューム

    • Kubernetes ボリューム は、Docker ボリューム に似ています。 Docker ボリューム は コンテナ にサービスを提供しますが、Kubernetes ボリューム はそのライフタイム内で ポッド にサービスを提供します。 ポッド で宣言された ボリューム は、ポッド 内のすべての コンテナ で共有されます。

  • 永続ボリューム (PV)

    • PV は、Kubernetes クラスター内の ストレージ リソースであり、ノードがクラスター内の 計算資源 であるのと同じです。 PV の ライフサイクル は、PV がマウントされている ポッド の ライフサイクル から独立しています。 さまざまな種類の PV を、さまざまな種類の ストレージクラス を使用してプロビジョニングできます。

  • 永続ボリューム要求 (PVC)

    • PVC は PV の コンシューマー であり、ポッドがノードの コンシューマー であるのと同じです。

  • ストレージクラス

    • ストレージクラス は、PV の 動的プロビジョニング を有効にするために使用されます。 動的プロビジョニング を有効にして、要件に基づいて PV の作成を自動化できます。

  • 自動スケーリング

    • 自動スケーリング は、ビジネスの 計算資源 を費用対効果の高い方法で動的にスケーリングするために ACK が提供する機能です。 自動スケーリング は、オンライン ワークロード 、大規模なコンピューティング タスクとトレーニング タスク、GPU インスタンス による ディープ ラーニング タスク、共有 GPU を使用するモデル推論タスクとモデル トレーニング タスク、および負荷が定期的に変化する ワークロード に適しています。 次の表に、ACK が提供する自動スケーリング コンポーネントを示します。

      スケーリング カテゴリ

      コンポーネント

      説明

      ワークロード スケーリング

      Horizontal Pod Autoscaler (HPA)

      HPA は、CPU 使用率 に基づいて ポッド を自動的にスケーリングします。 HPA を使用して、デプロイメント や StatefulSet など、スケール操作をサポートする ワークロード をスケーリングできます。

      コンテナ定時スケーリング (CronHPA)

      一部のシナリオでリソースの浪費を削減するために、ACK は kubernetes-cronhpa-controller コンポーネントを提供して、事前定義された スケジュール に基づいてリソースを自動的にスケーリングします。 CronHPA を使用して、デプロイメント や StatefulSet など、スケール操作をサポートする ワークロード をスケーリングできます。 CronHPA は HPA と 互換 です。 CronHPA と HPA を組み合わせて使用​​して、ワークロードをスケーリングできます。

      Vertical Pod Autoscaler (VPA)

      VPA は、ポッド の リソース使用量 に基づいて、ポッド の CPU と メモリ の予約を自動的に調整します。 この調整により、クラスター リソースの使用率が向上し、他の ポッド の CPU と メモリ が解放されます。 これにより、ポッドは、十分なリソースが使用可能なノードにスケジュールされます。 VPA は、ポッド の request パラメーターと limit パラメーターで指定されたリソース量も維持します。 VPA は、水平方向にスケーリングできないアプリケーションに使用されます。 通常、VPA は、ポッドが異常から回復されたときに使用されます。

      リソース スケーリング

      Cluster Autoscaler

      ACK は、ノードを自動的にスケーリングするための自動スケーリング コンポーネント (Cluster Autoscaler) を提供します。 ビジネス要件に合わせて、通常インスタンス、GPU インスタンス 、 プリエンプティブルインスタンス を ACK クラスターに自動的に追加または削除できます。 このコンポーネントは、複数の スケーリングモード 、さまざまな インスタンスタイプ 、および ゾーン をまたいでデプロイされたインスタンスをサポートします。 このコンポーネントは、さまざまな シナリオ に適用できます。 Cluster Autoscaler は、オンライン ワークロード 、 ディープ ラーニング タスク、大規模なコンピューティング タスクに適用できます。

  • 可観測性

    • Kubernetes の 可観測性 機能には、監視とログ記録が含まれます。 監視により、開発者はシステムの操作を追跡できます。 ログ記録は、診断とトラブルシューティングを容易にします。

  • Helm

    • Helm は、Kubernetes の パッケージ 管理プラットフォームです。 Helm チャート は、アプリケーションに必要なリソースの 構成 の パッケージ です。

  • nodeAffinity

    • nodeAffinity 設定を構成して、一致する ラベル の ワーカーノード に ポッド をスケジュールできます。

  • 汚染

    • 汚染 は nodeAffinity とは反対であり、ノードが特定の ポッド を拒否できるようにします。

  • 許容

    • 許容 は ポッド に適用され、一致する 汚染 のノードに ポッド をスケジュールできるようにします (ただし、必須ではありません)。

  • podAffinity

    • podAffinity 設定を構成して、指定された podAffinity 設定を満たす ポッド と同じトポロジ ドメインに ポッド をスケジュールできます。 たとえば、podAffinity 設定を構成して、互いに通信するアプリケーションを、ホストなどの同じトポロジ ドメインにスケジュールできます。 これにより、これらのアプリケーション間の ネットワーク遅延 が軽減されます。

  • podAntiAffinity

    • podAntiAffinity 設定を構成して、podAffinity 設定を満たす ポッド と同じトポロジ ドメインに ポッド をスケジュールしないようにできます。 たとえば、podAntiAffinity 設定を構成して、アプリケーションの ポッド を複数のホストなどの異なるトポロジ ドメインにスケジュールできます。 これにより、アプリケーションの安定性が向上します。

  • サービスメッシュ (Istio)

    • Istio は、マイクロサービスを接続、保護、制御、および監視できるオープン プラットフォームです。 サービスメッシュ (ASM) は、フルマネージド サービスメッシュ プラットフォームです。 ASM は、オープンソースの Istio サービスメッシュと 互換 です。 ASM を使用すると、サービスを簡素化された方法で管理できます。 たとえば、ASM を使用して、サービス間のトラフィックをルーティングおよび分割し、認証 を使用してサービス間の通信を保護し、メッシュ内のサービスの 動作 を監視できます。

関連情報

Kubernetes の用語の詳細については、「Kubernetes の概念」をご参照ください。