Skip to content
/ katlas Public

A distributed graph-based platform to automatically collect, discover, explore and relate multi-cluster Kubernetes resources and metadata.

License

Notifications You must be signed in to change notification settings

intuit/katlas

Folders and files

NameName
Last commit message
Last commit date
Dec 15, 2018
Jun 6, 2020
Aug 15, 2019
Mar 18, 2019
Mar 6, 2019
Feb 20, 2019
Mar 21, 2019
Aug 24, 2019
Jan 29, 2019
Mar 26, 2019
Dec 15, 2018
Dec 15, 2018
Dec 15, 2018
Dec 15, 2018
Apr 5, 2019
Dec 15, 2018
Dec 15, 2018
Jan 15, 2019
Dec 15, 2018

Repository files navigation

K-Atlas

Build Status codecov Go Report Card Slack Chat

What It Does?

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.

KAtlas Demo Video

Core Components

Collector

The collector is responsible for discovery of Kubernetes assets in Kubernetes Clusters. For details on the Collector design, please refer Design Concepts

K-Atlas Service

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

K-Atlas Browser

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

Graph Database

Dgraph is used as the graph database. To know more about our motivation to choose Dgraph, please refer Design Concepts

Deploying to a Cluster

Technical Requirements

Make sure you have the following prerequisites:

  • A local Go 1.7+ development environment.
  • Access to a Kubernetes cluster.

Setup Steps

How to Set Up.

Releases

Latest version (v0.6)

  • 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.

Contributing

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.