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

はじめに

Kubernetes Intelligence を使い始めるには、DoiT コンソールで接続済みクラウドアカウントの Kubernetes core 設定を有効にし、その後 Kubernetes クラスタをオンボードします。

学習パスを選択

以下のステップバイステップ手順に従うか、AWS のオンボーディングフローを視覚的に確認できる ▶️ EKS のインタラクティブデモ を参照してください。

必要なライセンス

Kubernetes Intelligence は、すべての DoiT Cloud Intelligence プランに含まれています。 利用するために PerfectScale のお客様である必要はありません。

ただし、PerfectScale アカウントを有効化した場合、PerfectScale プラットフォームへのワンクリックインテグレーションを利用できます。PerfectScale は、最適化作業を手作業による試行錯誤から、ガイド付きの推奨事項と自動化されたデータドリブンなワークフローへと変革する機能を提供します。これにより、ガバナンスポリシーを確立し、望ましい結果に向けて環境を継続的に最適化できます。これらの機能を試したい場合は、PerfectScale アカウントを有効化し、エージェントを再インストールすることなく 30 日間の無料トライアル を開始できます。

Kubernetes core を有効化する

DoiT コンソールで接続済みクラウドアカウントの 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 クラスタ(たとえば、Raw な EC2 インスタンス上で動作するクラスタ)は、DoiT プラットフォームによる日次スキャンでは検出されません。セルフマネージドクラスタを使用している場合は、DoiT コンソールで手動追加 してから エージェントをインストール してください。

クラスタをオンボードする

Kubernetes Intelligence エージェントは PerfectScale Exporter です。クラスタ内で動作し、利用状況メトリクスを PerfectScale に送信し、DoiT はそれらのメトリクスを Kubernetes Intelligence および関連機能として DoiT コンソール上に表示します。

Kubernetes クラスタをオンボードするには、エージェントをインストールするか、既存の PerfectScale デプロイメントをマッピングします。

  1. DoiT コンソール で、上部ナビゲーションのメガメニューから Data ingestion and integrations > Integrations を選択します。

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

  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. DoiT コンソールで Kubernetes アセットリストに移動し、対象のクラスタを見つけて、Action 列で Install agent を選択します。

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

    Kubernetes onboard - install agent: map cluster

  4. DoiT コンソールに表示される 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. DoiT コンソールに表示された Helm コマンド内の secret.clientIdsecret.clientSecret の値を控えておいてください。新しい認証情報が必要な場合を除き、このコマンドを複数回生成しないようにしてください。

    2. Helm コマンドをコピーして実行し、チャートをデプロイします。

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

  6. Helm デプロイが完了したら Done を選択します。

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

インストールまたはマッピングが成功すると、アセットリスト上のクラスタの Agent statusWaiting for data と表示されます。このステータスは最大 3 分ほど続くことがあります。その後、ステータスは Transmitting Data に変わります。

Agent status が数分以上 Waiting for data のままで Transmitting Data に変わらない場合は、perfectscale Namespace 内の Pod が実行中であることを確認してください。

kubectl get pods -n perfectscale

クラスタノード上の割り当て可能 CPU またはメモリが不足していることは、スケジューリング失敗の一般的な原因です。Pod が Pending ステータスのままの場合は、kubectl describe nodes でノードのキャパシティを確認するか、インストールを再試行する前にクラスタにキャパシティを追加してください。

複数のクラスタをオンボードする場合は、各クラスタに対して同じ手順を繰り返してください。

アセットテーブルのステータスが更新されるまで最大 3 分、Kubernetes Intelligence でデータが利用可能になるまで最大 24 時間かかる場合があります。

(オプション)AWS EC2 上でホストされているクラスタのコストトラッキングを有効にする

AWS EC2 インスタンス上でホストされているセルフマネージドクラスタのコストをトラッキングするには、eks:cluster-name のようなユーザー定義のコストアロケーションタグを EC2 インスタンスに手動で付与する必要があります。これらのタグが AWS の請求においてコストアロケーションタグとして有効化されていることを確認してください。詳しくは、Activating user-defined cost allocation tags および AWS cost allocation tags in DoiT platform を参照してください。

DoiT は請求データを毎日スキャンします。クラスタが新規作成(72 時間以内)の場合、またはコストが発生していない場合、DoiT はそれらを検出しません。

(オプション)GKE 上でホストされているクラスタのコストトラッキングを有効にする

GKE Intelligence を最大限に活用するには、計測したいすべてのクラスタで GKE cost allocation を有効にしてください。詳細は GKE cost allocation を参照してください。

クラスタのオフボード

クラスタをオフボードするには、次の kubectl コマンドを実行してください。namespace を削除すると、クラスタからエージェントが削除され、すべてのデータ送信が停止します。

kubectl delete namespace perfectscale

このコマンドは、Delete agent の手順内でも確認できます。

▶️ EKS 用インタラクティブデモ

AWS・EKS のオンボーディングフローをハンズオンで体験できるインタラクティブデモをお試しください。

デモが正しく表示されない場合は、ブラウザウィンドウを展開するか、新しいタブでデモを開いてください。

注意

このデモは AWS・EKS の手順のみを扱っています。GKE ユーザーは上記の記載された手順に従ってください。