As part of the drive to get more of your cloud data into Ardoq, we present the k8s-Ardoq Bridge (Kubernetes to Ardoq Bridge). It automates the documentation of your Kubernetes Application and Node resources into Ardoq. Are you working towards crowdsourcing more of your documentation? Why not make your Kubernetes clusters part of the crowd continuously updating your Ardoq data.

Kubernetes hosting, in itself, is a rather complex affair with a lot of interconnected systems, this integration simplifies it and strips the information to the bare necessities. It shows the relationship between your applications, the infrastructure supporting them, the teams in charge of them, the projects supported and ownership of the same, thus the lines of responsibilities between systems, departments and people are revealed. With your Kubernetes cluster documented in Ardoq, you can easily start to analyze the cost and security implications of your change initiatives.

Technical Breakdown

The project captures data on application resources (Deployments and StatefulSets) and nodes running in a Kubernetes cluster and continuously syncs the current internal state and select information into Ardoq.

The Bridge runs as a lightweight operator in your cluster, watching the given labelled resources and ensuring the data in your Ardoq workspace is constantly updated.

Step-by-step Guide

Setup

  • Create an empty workspace based on the “Blank workspace” template. Grab a copy of your new workspace ID from the browser URL bar. (To be used in the Helm chart’s values)

  • Create an API token

    • Navigate to your account settings

  • Create, copy and store your API token locally (To be used in the Helm chart’s values)

Information needed for the Helm installation

  • Your Ardoq custom subdomain

  • Your Ardoq organisation label

  • Your newly created workspace ID

  • Your newly created API token

  • Your cluster name (Should be unique within your workspace, if you want to reuse the same workspace for a number of clusters or in a multi-cluster setup)

Installation

Using a remote Helm repository

  • Add and update the Helm repository

helm repo add k8s-ardoq-bridge https://ardoq.github.io/k8s-ardoq-bridge
helm repo update

  • Ensure the repository is now available in your repo list

helm repo list
  • Deploy the Helm chart to your cluster

helm upgrade --install k8s-ardoq-bridge k8s-ardoq-bridge/k8s-ardoq-bridge --set "ardoq.baseUri='https://{your_custom_domain_here}/api/',ardoq.org='{your_org_label_here}',ardoq.workspaceId='{your_workspace_id_here}',ardoq.apiKey={your_api_key_here},ardoq.cluster='{your_cluster_name_here}'"

As an alternative to the –set option of the Helm command, you can also edit the values.yaml file.

Onboarding application resources

Label either the namespace or the specific Application Resource:

sync-to-ardoq: "enabled"

Additionally, you can enrich the resources with the labels below; This can later be used to assign ownership of the project to establish lines of responsibility.

ardoq/stack: "nginx"
ardoq/team: DevOps
ardoq/project: "TestProject"

How can I exclude a resource in an enabled namespace?

You can disable single/multiple resource(s) in a monitored namespace, labelling them with:

sync-to-ardoq: "disabled"

Sample Perspectives

Nodes by Node Pool/Group

Nodes by Node Pool/Group

Nodes by instance type

Nodes by instance type

References

Changelog

  • V1: Initial Documentation

If you have any questions about the Kubernetes to Ardoq Bridge, reach out to us! You can do so via our website or by using the in-app chat 💬. We're happy to help.

Did this answer your question?