メインコンテンツへスキップ

はじめに

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 における前提条件の設定であり、単体の製品機能ではありません。

新しいアカウントをリンクするとき、またはリンク済みアカウントを編集するときに Kubernetes core を有効にできます。

Enable Kubernetes core

詳しい手順については Link your AWS account を参照してください。必要な権限については 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 デプロイメントをマッピングしてください。

  1. DoiT コンソール の上部ナビゲーションのメガメニューから Data ingestion and integrations > Integrations を選択してください。

  2. Kubernetes インテグレーションカードで Manage を選択してください。ここには、プラットフォームによる毎日のスキャンで検出されたすべてのクラスタが表示されます。

  3. すでに PerfectScale でクラスタをオンボーディングしている場合は、Option 1: Map clusters に進んでください。そうでない場合は、Option 2: Install agent via Helm chart に進んでください。

    Kubernetes assets list

Option 1: Map clusters

このオプションでは、すでに PerfectScale にオンボーディング済みのクラスタに対してエージェントを再インストールせずに済みます。

Map clusters を選択して、PerfectScale クラスタと対応する DoiT エンティティとのマッピングを指定してください。

Kubernetes onboard - map clusters

Option 2: Install agent via Helm chart

  1. まだの場合は、ローカル環境に Helm をインストール してください。

  2. kubectl コマンドラインツールがクラスタと通信できるように設定されていることを確認してください。

    kubectl を適切なクラスタにポイントする方法はいくつかあります。以下はその一例です。

    1. 対象クラスタに対して、IAM ユーザーを AmazonEKSClusterAdminPolicy アクセスポリシーに関連付けてください。

    2. AWS CLI で次のコマンドを使用して、kubectl を EKS クラスタに接続するための kubeconfig ファイルを作成してください。

      aws eks update-kubeconfig --name <eks_cluster_name> --region <region>

  3. コンソールで Kubernetes アセット一覧に移動し、対象クラスタを見つけて、Action 列の Install agent を選択してください。

    プラットフォームが、PerfectScale 上でエージェントをインストール済みだがまだマッピングされていないクラスタを検出した場合は、そのクラスタをマッピングして以下の手順をスキップするオプションが表示されます。

    Kubernetes onboard - install agent: map cluster

  4. コンソールに表示されている 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 を参照してください。

    Kubernetes onboard - install agent

  5. Generate secret を選択して、認証情報が埋め込まれた Helm デプロイコマンドを生成してください。

    1. コンソールに表示される Helm コマンド内の secret.clientIdsecret.clientSecret の値を控えておいてください。新しい認証情報が必要な場合を除き、コマンドを複数回生成することは避けてください。

    2. Helm コマンドをコピーして実行し、チャートをデプロイしてください。

      このコマンドはクラスタを PerfectScale テナントに登録します。DoiT はそのテナントをお客様の組織にマッピングし、クラスタデータがコンソールに表示されるようにします。

  6. Helm デプロイが完了したら Done を選択してください。

エージェントステータスを確認する

インストールまたはマッピングが成功すると、アセット一覧上のクラスタの Agent statusWaiting 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 ユーザーの方は、上記の手順書に従ってください。