K-Atlas (pronounced Cutlass), is a distributed graph based platform to automatically collect, discover, explore and relate multi-cluster Kubernetes resources and metadata. K-Atlas's rich query language allows for simple and efficient exploration and extensibility.
It addresses following problems in a large scale enterprise environment of Kubernetes.
- Discoverability
- Find K8s objects across multiple distributed K8s clusters
- Real-time view of discovered objects
- Streaming APIs and UI for both programmatic and human interactions
- Advanced Exploration
- Identify similarities and differences between objects from pods to clusters
- Correlate different objects by performing advanced join operations
- Federated Application View
- Applications take center stage. K-Atlas provides a unique, application-centric view, with metadata from multiple clusters
- Single pane of glass view of the entire application - from edge to database, across all clusters, regions etc.
- Reporting
- Provide advanced reporting on compliance, security and other organizational policies
- Policy Enforcement
- Allow for organizational policies to be enforced across the fleet in a consistent manner
Check out more details on Motivation and Use Cases that K-Atlas is addressing.
It provides a Web Viewer that can be used to search the Kubernetes cluster data and view graphical results in real time.
Click on the thumbnail below to see a demo video.
The collector is responsible for discovery of Kubernetes assets in Kubernetes Clusters. For details on the Collector design, please refer Design Concepts
The K-Atlas Service exposes APIs that can be used to get details about Kubernetes entities and run queries to help diagnose issues in Kubernetes clusters. For details , please refer K-Atlas APIs
The Web Application exposes UI search capability to search clusters based on several criteria and provide a real time graphical view of entities. For details on usage, please Click here to see a demo
Dgraph is used as the graph database. To know more about our motivation to choose Dgraph, please refer Design Concepts
Make sure you have the following prerequisites:
- A local Go 1.7+ development environment.
- Access to a Kubernetes cluster.
How to Set Up.
- QSL query support
- Dynamic search result layout based on QSL
- Graph view based on QSL query required objects & relationships
- Pagination support for both API and UI
- Custom metadata definition via new API
More details about specific K-Atlas features are at Release Notes.
We encourage you to get involved with K-Atlas, as users or contributors and help with code reviews.
Read the contributing guidelines to learn about building the project, the project structure, and the purpose of each package.