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, 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-bridgehelm 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: DevOpsardoq/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 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.