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

はじめに

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 クラスタ(例:生の EC2 インスタンス上で動作しているクラスタ)は、DoiT プラットフォームのデイリースキャンでは検出されません。セルフマネージドクラスタを使用している場合は、エージェントをインストール する前に、DoiT コンソールで手動追加 してください。

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

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

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

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

  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 ネームスペース内の Pod が実行中であることを確認してください。

kubectl get pods -n perfectscale

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

複数のクラスタをオンボードするには、上記の手順をクラスタごとに繰り返してください。

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

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

自己管理型のクラスタで、AWS EC2 インスタンス上でホストされているもののコストをトラッキングするには、EC2 インスタンスに eks:cluster-name などのユーザー定義コスト配分タグを手動で付与する必要があります。これらのタグが AWS の請求においてコスト配分タグとして有効化されていることを確認してください。詳細については、ユーザー定義コスト配分タグの有効化および DoiT プラットフォームでの AWS コスト配分タグを参照してください。

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

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

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

クラスタのオフボード

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

kubectl delete namespace perfectscale

エージェントを削除する手順内にも、このコマンドが記載されています。

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

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

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

注意

このデモは AWS・EKS の手順のみを対象としています。GKE ユーザーの方は、上記の手順を参照してください。