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

はじめに

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 でクラスタをオンボーディングしている場合は、オプション 1:クラスタをマッピング に進んでください。そうでない場合は、オプション 2:Helm チャートでエージェントをインストール に進んでください。

    Kubernetes assets list

オプション 1:クラスタをマッピング

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

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

Kubernetes onboard - map clusters

オプション 2:Helm チャートでエージェントをインストール

  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.clientId および secret.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 時間かかることがあります。

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

AWS EC2 インスタンス上でホストされている自己管理クラスタのコストを追跡するには、eks:cluster-name などのユーザー定義コストアロケーションタグで EC2 インスタンスに手動でタグ付けする必要があります。これらのタグが AWS の請求でコストアロケーションタグとして有効化されていることを確認してください。詳細は、Activating user-defined cost allocation tags および DoiT プラットフォームにおける AWS コストアロケーションタグ を参照してください。

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

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

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

クラスタのオフボード

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

kubectl delete namespace perfectscale

このコマンドは、エージェントを削除 する手順内でも確認できます。

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

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

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

注意

このデモは AWS・EKS の手順のみを対象としています。GKE ユーザーは、上記の説明に従ってください。