メインコンテンツまでスキップ

はじめに

Kubernetes Intelligence を使い始めるには、まず Kubernetes core 機能を有効化し、その後に Kubernetes クラスタをオンボードします。

学習パスを選択

以下のステップバイステップの手順に従うか、ビジュアルによる案内については▶️ インタラクティブデモをご覧ください。

Enable Kubernetes core

接続済みのクラウドアカウントで Kubernetes core 機能を有効にすると、お客様の環境内の関連情報へアクセスするための権限が DoiT に付与されます。

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

Enable Kubernetes core

詳細な手順は Link your AWS account を、必要な権限の情報は Kubernetes core を参照してください。

権限が付与されると、次が行われます。

  • DoiT は接続済みの AWS アカウントおよび Google Cloud の組織・プロジェクトを毎日スキャンし(AWS は UTC の深夜、Google Cloud は UTC の午前 2 時)、クラウド環境内の Kubernetes クラスタを検出します。

  • PerfectScale プラットフォームにオンボード済みのクラスタについて、DoiT は PerfectScale と同期します。

(オプション)自己管理クラスタの接続

Kubernetes Intelligence に接続したい自己管理の Kubernetes クラスタ(PerfectScale にオンボード済みの自己管理クラスタを含む)がある場合、まず DoiT コンソールで手動追加する必要があります。該当しない場合はこの手順をスキップし、クラスタのオンボードに進んでください。

  1. DoiT console で、上部ナビゲーションバーから Integrate を選択し、Assets を選択します。

  2. 左側メニューから Kubernetes を選択します。

  3. Connect self-managed clusters を選択します。

    image

  4. Add self-managed k8s cluster フォームで、次を入力します。

    • Name: 自己管理クラスタの一意の識別子。

    • Region: (任意)お好みの命名規則で Region フィールドを使用します。例:on-prem-cluster-1 のようにタグ付け。Region はハイフンを含む英数字である必要があります(例:us-west-2)。

    • Host: クラスタの Kubernetes API サーバーの HTTPS URL エンドポイント(例:https://k8s.example.com:6443)。

    • Cluster CA certificate: Kubernetes API サーバーの真正性を検証するために使用される認証局(CA)証明書(PEM 形式)。

    • Service account token: DoiT コンソールが Kubernetes クラスタへアクセスするための認証に使用する JWT(JSON Web Token)。

  5. クラスタへの接続をテストするには、Test Connection を選択します。テストに合格するには、HostCluster CA certificateService account token の各フィールドが正しい必要があります。

  6. Save を選択します。

これで、Self-Managed タイプとして資産の一覧にクラスタが表示されるはずです。以下の手順に従って、このクラスタをオンボードできます。

注意

DoiT は、AWS EC2 インスタンス上でホストされている自己管理クラスタに対してのみコストを追跡できます。コスト追跡を有効にするには、EC2 インスタンスにユーザー定義のアロケーションタグを次の形式で付与してください:eks:cluster-name。詳細は Enable cost tracking for clusters hosted on AWS EC2 を参照してください。

クラスタのオンボード

Kubernetes Intelligence は、クラスタメトリクスを収集するために Kubernetes Intelligence エージェント(PerfectScale Exporter)に依存します。Kubernetes クラスタをオンボードするには、エージェントがクラスタにインストールされている必要があります。

  1. DoiT console で、上部ナビゲーションバーから Integrate を選択し、Assets を選択します。

  2. 左側メニューから Kubernetes を選択します。ここには、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 資産リストに移動し、対象のクラスタを見つけ、Install agentAction 列で選択します。

    DoiT プラットフォームが、PerfectScale にエージェントはインストール済みだがまだマッピングされていないクラスタを特定した場合、クラスタをマッピングして以降の手順をスキップできます。

    Kubernetes onboard - install agent: map cluster

  4. DoiT コンソールに表示される Helm コマンドをコピーして実行し、PerfectScale Helm chart repo を追加します。

    Kubernetes onboard - install agent

  5. Generate secret を選択します。

    1. DoiT コンソールに表示される Helm コマンド内の secret.clientIdsecret.clientSecret の値を控えます。

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

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

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

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

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

資産テーブルのステータスが更新されるまで最大 3 分、Kubernetes Intelligence にデータが表示されるまで最大 24 時間かかる場合があります。

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

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

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

クラスタのオフボード

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

kubectl delete namespace perfectscale

手順内の Delete agent にもコマンドが記載されています。

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

操作しながら学べるインタラクティブデモをお試しください。

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