基本的な用語

クラスター

クラウドリソースのコレクションで、コンテナーを実行する際に必要です。 いくつかのノード、Server Load Balancer インスタンス、VPC (Virtual Private Cloud) およびその他のクラウドリソースと関連しています。

ノード

Docker Engine がイントールされたサーバー (ECS (Elastic Compute Service) または物理的なサーバーのどちらか) です。コンテナーのデプロイや管理を行います。 ノードには Container Service のエージェントプログラム がインストールされ、クラスターに登録されます。 クラスター内のノード数はスケーラブルに変更できます。

コンテナー

Docker イメージにより作成された実行用のインスタンスです。 1 つのノードで複数のコンテナーを実行できます。

イメージ

Docker におけるコンテナーの基本的なパッケージフォーマットです。 デプロイするコンテナー化されたアプリケーションを指定することができます。 イメージは、Docker Hub、 Alibaba Cloud イメージサービスまたはお使いのプライベートレジストリを利用できます。 イメージ ID は固有のもので、イメージリポジトリおよびイメージタグ (最新の既定値) の URI により決定されます。

Kubernetes に関する用語

ノード

Kubernetes クラスター上のノードはコンピューティングパワーを提供し、全てのポッドが実行されているアクティブなサーバーです。 アクティブなサーバーは物理マシンまたは仮想マシンです。 kubelet 管理ノード上で実行されるコンテナーはアクティブなサーバーで実行されなければなりません。

名前空間

名前空間は Kubernetes クラスターに関する仮想分離を提供します。 デフォルトでは、Kubernetes クラスターには 3 つの名前空間があります。デフォルトの名前空間である "default"、システムの名前空間である "kube-system" および "kube-public" です。 管理者は要件に適合した新しい名前空間を作成することができます。

ポッド

Kubernetes の最小限の基本ユニットで、アプリケーションやサーバーのデプロイに使われます。 ポッドは 1 つ、または複数のコンテナー、ストレージリソース、独立したネットワーク IP アドレスおよび実行しているコンテナーのメソッドを管理、制御するポリシーオプションをカプセル化することができます。

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

RC (Replication Controller) により、実行中のポッドをモニタリングすることでいつでも Kubernetes クラスター上で実行される指定された数のポッドレプリカを確認できます。 1 つ以上のポッドレプリカを指定することができます。 指定した数よりもポッドレプリカの数が少ない場合、RC は新しいポッドレプリカを実行します。 ポッドレプリカが指定した数を超えた場合、RC は冗長なポッドレプリカの停止を開始します。

レプリカセット

RC のアップグレードされたバージョンです。 RS (Replica Set) と RC の違いは、セレクターをサポートするかどうかです。 RS は多くの適合したモードに対応しています。 一般的に、RS オブジェクトは単独で使用されることはありませんが、理想的な状況下でデプロイに関するパラメータとして使用されます。

デプロイ

デプロイとは、ユーザーによる Kubernetes クラスターに関するアップデート操作を指します。RS よりもアプリケーションの範囲が広く、サービスの作成、アップデート、ローリングアップデートを実行できます。サービスのローリングアップデートの実行は実際に新しい RS を作成し、新しい RS 上で理想的な状態までレプリカ数を段階的に追加、または古いRSを段階的に 0 にするまで削減します。 このような複合操作は RS による十分な記述はありませんが、より一般的なデプロイでは記述されます。 手動での管理やデプロイにより作成された RS を使用することは推奨しません。

サービス

Kubernetes の基本操作ユニットです。 実際のアプリケーションサービスの概念では、それぞれのサービスにはサポートする機能を提供するたくさんのコンテナーがあります。 Kube-Proxy のポートおよびサービスセレクターによりバックエンドコンテナーに渡すサービスリクエストが決定されます。また、シングルアクセスインターフェイスは外部機能で表示されます。 外部機能に対し、バックエンドがどのように実行されているかを通知する必要がなく、これにより有効なバックエンドの拡張と管理が行えます。

ラベル

基本的にリソースオブジェクトに対してキーバリューペアのコレクションが付与されます。 ラベルは、ユーザーに対して有効なオブジェクトの属性を指定するために使用されます。ただし、カーネルシステムに関して直接的な意味付けはありません。 ラベルは、オブジェクトの作成時に直接付与するか、いつでも編集することができます。 1 つのオブジェクトに対して複数のラベルを付与することができますが、キーバリューは固有のものでなければなりません。

ボリューム

Kubernetes クラスターにおけるボリュームは Docker ボリュームと同様のものになります。 違いとしては、Docker ボリュームの範囲はコンテナーであり、Kubernetes ボリュームのライフサイクルおよび範囲はポッドになります。 1 つのポッドにおいて設定されたボリュームはそのポッド内の全てのコンテナーで共有されます。 PVC (Persistent Volume Claim) 論理ストレージを使用でき、バックエンド上での実際のストレージテクノロジーを気にする必要がありません。 PV (Persistent Volume) に関する固有の設定はストレージ管理者により行われます。

PV および PVC

PV および PVC により、 Kubernetes クラスターに対しストレージの抽象化機能を設定することができます。PV コンフィギュレータが設定を行うため、ポッドの設定ロジックにおける実際のバックエンドストレージテクノロジーの設定を気にする必要がありません。 ストレージにおける、PV と PVC の関係性は、コンピューティングにおけるノードとポッドの関係性と同様のものです。 PV およびノードはリソースプロバイダーとして機能し、クラスターインフラをもとに変更され、Kubernetes クラスター管理者により設定されます。 PVC および ポッドはリソースユーザーとして機能し、業務やサービス要件をもとに変更され、Kubernetes クラスターユーザー、つまりサービス管理者により設定されます。

Ingress

クラスターに対するインバウンドアクセスの認証ルールのコレクションです。 Ingress の設定を行うことで、外部からアクセス可能な URL、Server Load Balancer、SSL および名前ベースのバーチャルホストを提供できます。 Ingress リソースを API サーバーに送信することで Ingress をリクエストできます。 一般的に Ingress コントローラーは Server Load Balancer を利用した Ingress の実装に使用され、エッジルータなどのフロントエンドを設定することができます。これにより、HA メソッドを利用したトラフィック操作が行えます。

関連ドキュメント