Skip to main content

Get started

To get started with Kubernetes Intelligence, you first need to enable the Kubernetes core feature, and then onboard Kubernetes clusters.

Choose your learning path

Follow the step-by-step instructions below or check out the ▶️ interactive demo for a visual walkthrough.

Enable Kubernetes core

Enabling the Kubernetes core feature on your connected cloud accounts grants DoiT permissions to access relevant information in your environment.

You can enable Kubernetes core when linking a new account or editing a linked account.

Enable Kubernetes core

See Link your AWS account for detailed instructions; see Kubernetes core for information about the required permissions.

Once permissions are granted:

  • DoiT performs a daily scan of the connected AWS accounts and Google Cloud organizations and projects (midnight UTC for AWS, 2 AM UTC for Google Cloud) to uncover Kubernetes clusters in your cloud environment.

  • DoiT synchronizes with PerfectScale for clusters that have onboarded the PerfectScale platform.

(Optional) Connect self-managed clusters

If you have self-managed Kubernetes clusters that you want to connect to Kubernetes Intelligence (including self-managed clusters onboarded with PerfectScale), you first need to add them manually in the DoiT Console. Otherwise, skip this step and continue to Onboard clusters.

  1. In the DoiT console, select Integrate from the top navigation bar, and then select Assets.

  2. Select Kubernetes from the left-hand menu.

  3. Select Connect self-managed clusters.

    image

  4. In the Add self-managed k8s cluster form, enter:

    • Name: A unique identifier for your self-managed cluster.

    • Region: (Optional) Use the Region field at your own convention, for example tag your cluster as on-prem-cluster-1 or similar. Region must be alphanumeric with hyphens, for example us-west-2.

    • Host: The HTTPS URL endpoint of your cluster's Kubernetes API server, for example https://k8s.example.com:6443.

    • Cluster CA certificate: The Certificate Authority (CA) certificate used to verify the identity of the Kubernetes API server, in the PEM format.

    • Service account token: A JWT (JSON Web Token) that authenticates the DoiT Console to access your Kubernetes cluster.

  5. To test the connection to the cluster, select Test Connection. The Host, Cluster CA certificate, and Service account token fields must be correct for the test to pass.

  6. Select Save.

Your cluster should now appear in the list of Assets with a Self-Managed type. You can now onboard this cluster by following the instructions below.

Note

DoiT can track costs only for self-managed clusters that are hosted on AWS EC2 instances. To enable cost tracking, tag your EC2 instances with a user-defined allocation tag in this format: eks:cluster-name. See Enable cost tracking for clusters hosted on AWS EC2 for more details.

Onboard clusters

Kubernetes Intelligence relies on the Kubernetes Intelligence agent (PerfectScale Exporter) to collect cluster metrics. To onboard a Kubernetes cluster, you need to have the agent installed on the cluster.

  1. In the DoiT console, select Integrate from the top navigation bar, and then select Assets.

  2. Select Kubernetes from the left-hand menu. Here you'll find all the clusters uncovered via the daily scan by the DoiT platform. Self-managed clusters will not appear in the list until you add them separately as instructed in Connect self-managed clusters.

  3. If you've onboarded clusters with PerfectScale, proceed to Option 1: Map clusters. Otherwise, go to Option 2: Install agent via Helm chart.

    Kubernetes assets list

Option 1: Map clusters

This option lets you avoid reinstalling the agent on clusters that already onboarded PerfectScale.

Select Map clusters to specify mappings between PerfectScale clusters and their corresponding DoiT entities.

Kubernetes onboard - map clusters

Option 2: Install agent via Helm chart

  1. Install Helm on your local system if you haven't done so.

  2. Make sure the kubectl command-line tool is configured to communicate with your cluster

    There are multiple ways to point kubectl to the correct cluster. The instructions below are for reference purposes.

    1. Associate your IAM user with the AmazonEKSClusterAdminPolicy access policy for the target cluster.

    2. Create a kubeconfig file to connect kubectl to the EKS cluster, using the following command in the AWS CLI:

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

  3. In the DoiT console, navigate to the Kubernetes assets list, locate the cluster of interest, and then select Install agent in the Action column.

    If the DoiT platform identifies clusters that have installed the agent on PerfectScale but not mapped yet, you'll have the option to map the cluster and skip the following steps.

    Kubernetes onboard - install agent: map cluster

  4. Copy and run the Helm command shown in the DoiT console to add the PerfectScale Helm chart repo.

    Kubernetes onboard - install agent

  5. Select Generate secret.

    1. Note down the values of secret.clientId and secret.clientSecret in the Helm command displayed on the DoiT console.

    2. Copy and run the Helm command to deploy the chart.

  6. Select Done when the Helm deployment is completed.

Verify agent status

If the installation or mapping is successful, the Agent status of the cluster on the assets list will show Waiting for data. This status may last three minutes. After that, the status changes to Transmitting Data.

To onboard multiple clusters, repeat the steps above for each one.

It can take up to three minutes for the status in the assets table to update, and up to 24 hours before the data is available in the Kubernetes Intelligence.

(Optional) Enable cost tracking for clusters hosted on AWS EC2

To track costs for self-managed clusters hosted on AWS EC2 instances, you need to manually tag your EC2 instances with a user-defined cost allocation tag, such as eks:cluster-name. Make sure these tags are activated as cost allocation tags in your AWS billing. See Activating user-defined cost allocation tags and AWS cost allocation tags in DoiT platform.

DoiT scans the billing data on a daily basis. If your clusters are newly created (within 72 hours) or have no spend, DoiT will not detect them.

Offboard clusters

To offboard a cluster, run the following kubectl command. Deleting the namespace removes the agent from the cluster and stops all data transmission.

kubectl delete namespace perfectscale

You can also find the command in the instructions to Delete agent.

▶️ Interactive demo

Try out our interactive demo for a hands-on walk-through experience.

If the demo doesn't display properly, expand your browser window or open the demo in a new tab.