ワークロードの表示
ワークロードは、Kubernetes クラスターで実行されるアプリケーションを定義します。すべてのワークロードはポッドを制御します。ポッドは Kubernetes クラスター内のコンピューティングの基本単位であり、同時に実行される 1 つ以上のコンテナを示します。
Amazon EKS コンソールを使用して、クラスターで実行されている Kubernetes ワークロードとポッドに関する情報を確認できます。
前提条件
AWS Management Console にサインインする際に使用する IAM ユーザーまたは IAM ロールは、次の要件を満たしている必要があります。
-
アタッチされたワークロードを表示するための
eks:AccessKubernetesApi
およびその他の必要な IAM アクセス許可がある。IAM ポリシーの例については、「AWS Management Console で、すべてのクラスターのノードとワークロードを表示する」を参照してください。 -
コネクテッドクラスター内のノードの場合、Amazon EKS Connector Service アカウントは、クラスター内の IAM またはロールを偽装できる必要があります。これにより、eks-connector は IAM ユーザーまたはロールを Kubernetes ユーザーにマッピングできます。
-
aws-auth
configmap
で、Kubernetes のユーザーまたはグループにマッピングされている。詳細については、「クラスターへの IAM ユーザーおよびロールアクセスを有効にする」を参照してください。 -
IAM ユーザーまたはロールが configmap でマッピングされている Kubernetes ユーザーまたはグループは、表示したいネームスペース内のリソースを表示するアクセス許可を持つ Kubernetes
role
またはclusterrole
にバインドされている必要があります。詳細については、Kubernetes ドキュメントの「RBAC 認証の使用」を参照してください。 clusterrole
およびclusterrolebinding
、またはrole
およびrolebinding
を作成する、以下のマニフェスト例をダウンロードできます。-
すべての名前空間の Kubernetes リソースを表示する — ファイル内のグループ名は
eks-console-dashboard-full-access-group
です。このグループに IAM ユーザーまたはロールをaws-auth
configmap でマッピングする必要があります。必要に応じて、クラスターに適用する前にグループ名を変更し、ConfigMap でそのグループに IAM ユーザーまたはロールをマッピングできます。ファイルをダウンロードするには、クラスターのある AWS リージョン で対応するリンクを選択します。 -
特定の名前空間内の Kubernetes リソースを表示する – このファイルの名前空間は
default
です。別の名前空間を指定する場合は、クラスターに適用する前にファイルを編集します。ファイル内のグループ名はeks-console-dashboard-restricted-access-group
です。このグループに IAM ユーザーまたはロールをaws-auth
configmap でマッピングする必要があります。必要に応じて、クラスターに適用する前にグループ名を変更し、ConfigMap でそのグループに IAM ユーザーまたはロールをマッピングできます。ファイルをダウンロードするには、クラスターのある AWS リージョン で対応するリンクを選択します。
-
AWS Management Console を使用してワークロードを表示するには
-
https://console.aws.amazon.com/eks/home#/clusters
で Amazon EKS コンソールを開きます。 -
クラスターリストで、ワークロードを表示するクラスターを選択します。
-
[Workloads] (ワークロード) タブでは、クラスターに現在デプロイされているすべての Kubernetes ワークロードの [Names] (名前)、各ワークロードの [Pod count] (ポッド数) および [Status] (ステータス) を確認できます。
重要 ワークロードが表示されない場合、または [Your current user or role does not have access to Kubernetes objects on this EKS cluster] (現在のユーザーまたはロールには、この EKS クラスターの Kubernetes オブジェクトへのアクセス権がありません) が表示された場合は、[All Namespaces] (すべての名前空間) ドロップダウンリストから別の名前空間を選択する必要があります。それでも問題が解決しない場合は、このトピックの前提条件を参照してください。問題が解決しない場合、[設定] タブで Amazon EKS クラスターの表示および管理は行えますが、ワークロードに関する情報は表示されません。
クラスターには、次のタイプのワークロードをデプロイできます。
-
Deployment — 特定の数のポッドが実行されるようにします。また、変更をデプロイするロジックを含みます。
-
ReplicaSet — 特定の数のポッドが実行されるようにします。これは、デプロイメントで制御できます。
-
StatefulSet — ステートフルアプリケーションのデプロイメントを管理します。
-
DaemonSet — ポッドのコピーがクラスター内のすべて (またはいくつか) のノードで実行されるようにします。
-
Job — 1 つ以上のポッドを作成し、指定された数のポッドが完了するまで実行されるようにします。
詳細については、Kubernetes ドキュメントの「ワークロード
」を参照してください。 デフォルトでは、すべての Amazon EKS クラスターに次のワークロードがあります。
-
coredns — 2 つの
coredns
ポッドのレプリカをデプロイするDeployment
。これらのポッドは、クラスター内のすべてのポッドの名前解決を行います。2 つのポッドは、クラスターにデプロイされたノードの数に関係なく、高可用性を実現するために デフォルトでデプロイされています。詳細については、「CoreDNS アドオンの管理」を参照してください。これらのポッドは、あらゆるノードタイプにデプロイできます。ただし Fargate ノードにデプロイできるのは、ワークロードの名前空間と一致する名前空間を持つ Fargate プロファイルがクラスターに含まれている場合だけです。 -
aws-node — クラスター内の各 Amazon EC2 ノードに 1 つのポッドをデプロイする
DaemonSet
。このポッドは、クラスター内のポッドとノードに VPC ネットワーキング機能を提供する Amazon Virtual Private Cloud (Amazon VPC) CNI コントローラーを実行します。詳細については、「ポッドネットワーキング (CNI)」を参照してください。Fargate にはすでに Amazon VPC CNI コントローラーが含まれているため、このワークロードは Fargate ノードにはデプロイできません。 -
kube-proxy — クラスター内の各 Amazon EC2 ノードに 1 つのポッドをデプロイする
DaemonSet
。これらのポッドは、ポッドへのネットワーク通信を有効にするノードのネットワークルールを維持します。詳細については、Kubernetes ドキュメントの「kube-proxy
」を参照してください。このワークロードは、Fargate ノードにはデプロイできません。
ワークロードの詳細を表示する
[名前] 列で、次の情報を表示するいずれかのワークロードのリンクを選択します。
-
ワークロードに割り当てられたステータス、名前空間、およびセレクター (存在する場合)。
-
ワークロードによって管理されているポッドのリスト、およびそのステータスと作成した日付と時刻。
-
ワークロードに割り当てられた Kubernetes ラベルおよび注釈。これらは、ワークロードの作成時にユーザー、Kubernetes または Amazon EKS API によって割り当てられます。
ワークロードの検査時に表示される詳細情報の一部は、ワークロードのタイプによって異なる場合があります。各ワークロードタイプのプロパティの詳細については、Kubernetes ドキュメントの「ワークロード
」を参照してください。 ポッドの詳細を表示する
ポッドは Kubernetes クラスター内のコンピューティングの基本単位であり、同時に実行される 1 つ以上のコンテナを示します。各ワークロードは、クラスターで実行されている複数のポッドうち 1 つを制御します。ポッドは、比較的一時的でイミュータブルなオブジェクトとして設計されています。クラスターの実行中は、時間の経過とともにポッドを開始および停止させるのが普通です。ポッドの開始または停止は、ワークロードの変更とクラスターのスケールの変更に反映されます。詳細については、Kubernetes ドキュメントの「ポッド
」を参照してください。 ワークロードを表示する際、[名前] 列でいずれかのポッドのリンクを選択し、ポッドに関する次の情報を表示できます。
-
ポッドがある Kubernetes 名前空間 およびそのポッドのステータス。
-
ポッドが実行されているノード。ノードは、Amazon EC2 インスタンスまたは Fargate ポッドである可能性があります。ノードの表示についての詳細は、「ノードを表示する」を参照してください。
-
ポッドのコンテナ。コンテナの名前を選択すると、[Image] (イメージ)、[Ports] (ポート)、[Mounts] (マウント)、および [Arguments] (引数) がポッドの起動時に提供されます。ポッドは、2 つのコンテナタイプを定義できます。1 つ目は、ポッドが実行されている限り実行されるアプリケーションコンテナです。2 つ目は、ポッドの起動時に実行されるプロセスとして機能するinit コンテナです。両方のコンテナタイプは、ポッドの詳細ページに表示されます。
-
ポッドに割り当てられた Kubernetes ラベルおよび注釈。
-