はじめに
Kubernetes Intelligence を利用開始するには、コンソールで接続済みクラウドアカウントの Kubernetes core 設定を有効にしてから、Kubernetes クラスタをオンボーディングしてください。
以下のステップバイステップの手順に従うか、AWS でのオンボーディングフローを視覚的に確認できる ▶️ EKS 用インタラクティブデモ を参照してください。
必要なライセンス
Kubernetes Intelligence は、すべての Cloud Intelligence プランに含まれています。 利用するために PerfectScale の顧客である必要はありません。
ただし、PerfectScale アカウントを有効化すると、PerfectScale プラットフォームへのワンクリックインテグレーションにアクセスできます。PerfectScale は、最適化作業を手作業の試行錯誤から、ガイド付きの推奨事項と自動化されたデータドリブンなワークフローへと変革する機能を提供し、ガバナンスポリシーを確立して、望ましい結果を得るために環境を継続的に最適化できます。これらの機能を試したい場合は、エージェントを再インストールすることなく PerfectScale アカウントを有効化して 30 日間の無料トライアルを開始 できます。
Kubernetes core を有効化する
コンソールで接続済みクラウドアカウント上の Kubernetes core を有効にすると、DoiT に Kubernetes クラスタを検出し、Kubernetes Intelligence 機能を使用するための権限が付与されます。これは DoiT における前提条件の設定であり、単体の製品機能ではありません。
- AWS account
- Google Cloud organization or project
新しいアカウントをリンクするとき、またはリンク済みアカウントを編集するときに Kubernetes core を有効にできます。

詳しい手順については Link your AWS account を参照してください。必要な権限については Kubernetes core を参照してください。
Google Cloud 組織またはプロジェクトを接続する際、または接続設定を編集する際に Kubernetes core を有効にできます。

詳しい手順については Connect Google Cloud resources を参照してください。必要な権限については Kubernetes core を参照してください。
権限が付与されると、次の処理が行われます。
-
DoiT は接続された AWS アカウントおよび Google Cloud 組織とプロジェクトに対して毎日スキャンを実行し(AWS は UTC の深夜、Google Cloud は UTC の午前 2 時)、クラウド環境内の Kubernetes クラスタを検出します。
-
DoiT は、PerfectScale プラットフォームにオンボーディングされたクラスタについて PerfectScale と同期します。
セルフマネージドの Kubernetes クラスタ(例: 生の EC2 インスタンス上で実行されているクラスタ)は、プラットフォームの毎日のスキャンでは検出されま せん。セルフマネージドクラスタを使用している場合は、コンソールで手動追加 してから、エージェントをインストール してください。
クラスタをオンボードする
Kubernetes Intelligence エージェントは PerfectScale Exporter です。これはクラスタ内で動作し、利用状況メトリクスを PerfectScale に送信し、DoiT はそれらのメトリクスをコンソール内の Kubernetes Intelligence および関連機能に表示します。
Kubernetes クラスタをオンボーディングするには、エージェントをインストールするか、既存の PerfectScale デプロイメントをマッピングしてください。
-
DoiT コンソール の上部ナビゲーションのメガメニューから Data ingestion and integrations > Integrations を選択してください。
-
Kubernetes インテグレーションカードで Manage を選択してください。ここには、プラットフォームによる毎日のスキャンで検出されたすべてのクラスタが表示されます。
-
すでに PerfectScale でクラスタをオンボーディングしてい る場合は、Option 1: Map clusters に進んでください。そうでない場合は、Option 2: Install agent via Helm chart に進んでください。

Option 1: Map clusters
このオプションでは、すでに PerfectScale にオンボーディング済みのクラスタに対してエージェントを再インストールせずに済みます。
Map clusters を選択して、PerfectScale クラスタと対応する DoiT エンティティとのマッピングを指定してください。

Option 2: Install agent via Helm chart
-
まだの場合は、ローカ ル環境に Helm をインストール してください。
-
kubectlコマンドラインツールがクラスタと通信できるように設定されていることを確認してください。kubectlを適切なクラスタにポイントする方法はいくつかあります。以下はその一例です。- Amazon Elastic Kubernetes Service
- Google Kubernetes Engine
-
対象クラスタに対して、IAM ユーザーを AmazonEKSClusterAdminPolicy アクセスポリシーに関連付けてください。
-
AWS CLI で次のコマンドを使用して、
kubectlを EKS クラスタに接続するためのkubeconfigファイルを作成してください。aws eks update-kubeconfig --name <eks_cluster_name> --region <region>
-
gcloud CLI をインストール してください。
-
gcloud config set project <projectID>コマンドを実行して、プロジェクト プロパティを設定してください。 -
次のコマンドを使用して
kubeconfigファイルを更新し、kubectlが GKE クラスタを指すようにしてください。gcloud container clusters get-credentials <gkeClusterName> --zone <zone> --project <projectID>
-
コンソールで Kubernetes アセット一覧に移動し、対象クラスタを見つけて、Action 列の Install agent を選択してください。
プラットフォームが、PerfectScale 上でエージェントをインストール済みだがまだマッピングされていないクラスタを検出した場合は、そのクラスタをマッピングして以下の手順をスキップするオプションが表示されます。

-
コンソールに表示されている Helm コマンドをコピーして実行し、PerfectScale Helm chart repo を追加してください。
この Helm チャートはいくつかのコンポーネントをデプロイします。エージェント Pod をスケジュールできるように、クラスタノードに十分な割り当て可能 CPU とメモリがあることを確認してください。デフォルトでは、メインのエクスポーターは 200m CPU と 300Mi メ モリを要求し、さらに kube-state-metrics など追加のリソースを要求する補助コンポーネントもデプロイされます。
ネットワークポリシー、ファイアウォール、またはプロキシを使用している場合は、エージェントと Helm チャートに必要な宛先への HTTPS アウトバウンドアクセスを許可してください。必要なホスト名、ポート、プロキシ設定の一覧については、Outbound request ports used by the PerfectScale agent および PerfectScale agent を参照してください。

-
Generate secret を選択して、認証情報が埋め込まれた Helm デプロイコマンドを生成してください。
-
コンソールに表示される Helm コマンド内の
secret.clientIdとsecret.clientSecretの値を控えておいてください。新しい認証情報が必要な場合を除き、コマンドを複数回生成することは避けてください。 -
Helm コマンドをコピーして実行し、チャートをデプロイしてください。
このコマンドはクラスタを PerfectScale テナントに登録します。DoiT はそのテナントをお客様の組織にマッピングし、クラスタデータがコンソールに表示されるようにします。
-
-
Helm デプロイが完了したら Done を選択してください。
エージェントステータスを確認する
インストールまたはマッピングが成功すると、アセット一覧上のクラスタの Agent status は Waiting for data と表示されます。このステータスは最大 3 分間続く場合があります。その後、ステータスは Transmitting Data に変更されます。
Agent status が数分以上 Waiting for data のままで、Transmitting Data に変わらない場合は、perfectscale 名前空間内の Pod が実行中かどうかを確認してください。
kubectl get pods -n perfectscale
クラスタノード上の割り当て可能 CPU またはメモリが不足していることは、スケジューリング失敗の一般的な原因です。Pod が Pending ステータスのままの場合は、kubectl describe nodes でノードのキャパシティを確 認するか、インストールを再試行する前にクラスタにキャパシティを追加してください。
複数のクラスタをオンボーディングする場合は、上記の手順をクラスタごとに繰り返してください。
アセットテーブル内のステータスが更新されるまでに最大 3 分、Kubernetes Intelligence でデータが利用可能になるまでに最大 24 時間かかる場合があります。
(オプション)AWS EC2 上でホストされているクラスタのコストトラッキングを有効にする
AWS EC2 インスタンス上でホストされているセルフマネージドクラスタのコストをトラッキングするには、EC2 インスタンスに eks:cluster-name などのユーザー定義コスト配分タグを手動で付与する必要があります。これらのタグが AWS 請求でコスト配分タグとして有効化されていることを確認してください。Activating user-defined cost allocation tags および AWS cost allocation tags in the platform を参照してください。
DoiT は請求データを毎日ス キャンします。クラスタが新しく作成されたものである(72 時間以内)か、利用料金が発生していない場合、DoiT はそれらのクラスタを検出しません。
(オプション)GKE 上でホストされているクラスタのコストトラッキングを有効化する
GKE Intelligence を最大限に活用するには、計測したいすべてのクラスタで GKE コストアロケーションを有効にしてください。詳しくは、GKE cost allocation を参照してください。
クラスタのオフボード
クラスタをオフボードするには、次の kubectl コマンドを実行してください。ネームスペースを削除すると、クラスタからエージェントが削除され、すべてのデータ送信が停止されます。
kubectl delete namespace perfectscale
エージェントを削除する手順の中にも、同じコマンドが記載されています。
▶️ EKS のインタラクティブデモ
AWS・EKS のオンボーディングフローをハンズオンで体験できるインタラクティブデモをお試しください。
デモが正しく表示されない場合は、ブラウザウィンドウを展開するか、新しいタブでデモを開いてください。
このデモは AWS・EKS の手順のみを対象としています。GKE ユーザーの方は、上記の手順書に従ってください。