Skip to content

philippemerle/Awesome-Kubernetes-Architecture-Diagrams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Kubernetes Architecture Diagrams

Kubernetes Icons Set (KIS)

  • Kubernetes Icons Set provides icons to standardize Kubernetes architecture diagrams for presentation. Having uniform architecture diagrams improve understandibility.

Drawing Tools

Diagrams as Code

  • Diagrams: https://github.com/mingrammer/diagrams

    • Diagram as Code for prototyping cloud system architectures
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python
    • Most of Kubernetes resources supported
  • Diagrams as code: https://github.com/dmytrostriletskyi/diagrams-as-code

    • Declarative configurations using YAML for drawing cloud system architectures
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python with Diagrams
    • Most of Kubernetes resources supported
  • Kubernetes-PlantUML: https://github.com/dcasati/kubernetes-PlantUML

    • PlantUML sprites, macros and stereotypes for creating PlantUML diagrams with the Kubernetes components
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: PlantUML
    • Most of Kubernetes resources supported
  • a few others!

Generation Tools

  • KubeDiagrams: https://github.com/philippemerle/KubeDiagrams

    • Generate Kubernetes architecture diagrams from Kubernetes manifest files, kustomization files, Helm charts, helmfiles, and actual cluster state. The main originality of KubeDiagrams is its configurability allowing for instance to deal with custom Kubernetes resources.
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python with Diagrams, and JavaScript
    • Usage mode: CLI, GUI, and SaaS
    • Input formats: K8s manifests, kustomization files, Helm charts, helmfiles, and K8s API
    • 47+ Kubernetes resource kinds supported
    • KIS supported
    • Resource clustering based on namespaces, labels, and annotations
    • Output formats: PNG, JPG, GIF, TIFF, SVG, PDF, DOT, and draw.io
  • KubeView: https://github.com/benc-uk/kubeview

    • Kubernetes cluster visualiser and graphical explorer
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: JavaScript and Go
    • Usage mode: GUI
    • Input formats: K8s API
    • Supported Kubernetes resources
      • ConfigMap
      • CronJob
      • DaemonSet
      • Deployment
      • Endpoints
      • Ingress
      • Job
      • Namespace
      • PersistentVolumeClaim
      • Pod
      • ReplicaSet
      • Secret
      • Service
      • StatefulSet
    • KIS supported
    • Resource clustering unsupported
    • Output formats: Web pages
  • kubectl-graph: https://github.com/steveteuber/kubectl-graph

    • A kubectl plugin to visualize Kubernetes resources and relationships
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Go
    • Usage mode: CLI
    • Input formats: K8s API
    • Supported Kubernetes resources
      • Endpoints
      • Ingress
      • Namespace
      • NetworkPolicy
      • Node
      • Pod
      • Route
      • Service
      • any other kinds
    • KIS unsupported
    • Resource clustering unsupported
    • Output formats: AQL, ArangoDB, CQL, Cypher, DOT, and Mermaid
  • Lens Resource Map: https://github.com/nevalla/lens-resource-map-extension

    • An extension for Lens - The Kubernetes IDE that displays Kubernetes resources and their relations as a real-time force-directed graph
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: TypeScript
    • Usage mode: GUI
    • Input formats: K8s API
    • Supported Kubernetes resources
      • ConfigMap
      • DaemonSet
      • Deployment
      • Ingress
      • PersistentVolumeClaim
      • Pod
      • Secret
      • Service
      • StatefulSet
    • KIS supported
    • Resource clustering unsupported
    • Output formats: Web pages
  • k8sviz: https://github.com/mkimuram/k8sviz

    • Generate Kubernetes architecture diagrams from the actual state in a namespace
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Go and Graphviz
    • Usage mode: CLI
    • Input formats: K8s API
    • Supported Kubernetes resources
      • CronJob
      • DaemonSet
      • Deployment
      • HorizontalPodAutoscaler
      • Ingress
      • Job
      • Namespace
      • PersistentVolumeClaim
      • Pod
      • ReplicaSet
      • Service
      • StatefulSet
    • KIS supported
    • Resource clustering based on namespaces
    • Output formats: all Graphviz output formats
  • Kubernetes diagrams: https://github.com/trois-six/k8s-diagrams

    • Create diagrams from the Kubernetes API with go-diagrams
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Go
    • Usage mode: CLI
    • Input formats: K8s API
    • Supported Kubernetes resources
      • DaemonSet
      • Deployment
      • Ingress
      • Namespace
      • Pod
      • ReplicaSet
      • Service
      • StatefulSet
    • KIS supported
    • Resource clustering based on namespaces and ReplicaSet owners
    • Output formats: DOT only
  • GruCloud: https://github.com/grucloud/grucloud

    • Generate code and diagrams from cloud infrastructures: AWS, Azure, GCP, Kubernetes
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: JavaScript
    • Usage mode: CLI
    • Input formats: JavaScript IaC
    • Supported Kubernetes resources
      • ConfigMap
      • ClusterRole
      • ClusterRoleBinding
      • Deployment
      • Ingress
      • Namespace
      • PersistentVolume
      • PersistentVolumeClaim
      • Role
      • RoleBinding
      • Secret
      • Service
      • ServiceAccount
      • StatefulSet
    • KIS unsupported
    • Resource clustering unsupported
    • Output formats: PlantUML
  • k8s-to-mermaid: https://github.com/sommerit/k8s-to-mermaid

    • This script parses Kubernetes YAML files and generates a Mermaid class diagram that visualizes the resources and their relationships within a Kubernetes cluster
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python
    • Usage mode: CLI
    • Input formats: K8s manifests
    • Supported Kubernetes resources
      • ConfigMap
      • CronJob
      • DaemonSet
      • Deployment
      • HorizontalPodAutoscaler
      • Ingress
      • Job
      • NetworkPolicy
      • PersistentVolumeClaim
      • Pod
      • ReplicaSet
      • Secret
      • Service
      • StatefulSet
    • KIS unsupported
    • Resource clustering unsupported
    • Output formats: Mermaid
  • K8s Diagram architecture generator: https://github.com/kocierik/k8s-to-diagram

    • Generate a diagram architecture from kubernetes manifests
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Go and D2
    • Usage mode: CLI
    • Input formats: K8s manifest annotations
    • Supported Kubernetes resources
      • ConfigMap
      • Deployment
      • Ingress
      • PersistentVolume
      • PersistentVolumeClaim
      • Pod
      • Secret
      • Service
      • StatefulSet
    • KIS unsupported
    • Resource clustering unsupported
    • Output formats: SVG and PNG
  • react-k8s-viewer: https://github.com/SocialGouv/react-k8s-viewer

    • Render diagrams from your kubernetes manifests
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: TypeScript
    • Usage mode: GUI
    • Input formats: K8s manifests
    • Supported Kubernetes resources
      • ConfigMap
      • CronJob
      • Deployment
      • Ingress
      • Job
      • SealedSecret
      • Secret
      • Service
      • ServiceMonitor
    • KIS unsupported
    • Resource clustering unsupported
    • Output formats: React Flow
  • K8s Diagram Previewer: https://github.com/jimmymills/k8s-diagram-previewer

    • Diagram generator for Kubernetes manifests
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python with Diagrams
    • Usage mode: CLI
    • Input formats: K8s manifests and Helm charts
    • Supported Kubernetes resources
      • ConfigMap
      • CronJob
      • DaemonSet
      • Deployment
      • Ingress
      • Job
      • PersistentVolumeClaim
      • Pod
      • Secret
      • Service
      • StatefulSet
    • KIS supported
    • Resource clustering based on namespaces, Deployment and ReplicaSet owners
    • Output formats: PNG, JPG, SVG, PDF, and DOT
  • k8s-diagrams: https://github.com/imjoseangel/k8s-diagrams

    • Creates graphviz diagrams from the Kubernetes API
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python with Diagrams
    • Usage mode: CLI
    • Input formats: K8s API
    • Supported Kubernetes resources
      • Deployment
      • Endpoints
      • HorizontalPodAutoscaler
      • Ingress
      • Namespace
      • Pod
      • ReplicaSet
      • Service
    • KIS supported
    • Resource clustering based on namespaces
    • Output formats: PNG, JPG, SVG, PDF, and DOT
  • kube-diagram: https://github.com/kahowell/kube-diagram

    • Experimental cli tool to generate plantuml diagrams of k8s/openshift resources
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Java
    • Usage mode: CLI
    • Input formats: K8s manifests
    • Supported Kubernetes resources:
      • CronJob
      • DeploymentConfig
      • Service
    • KIS unsupported
    • Resource clustering unsupported
    • Output formats: PlantUML
  • kube-diagrams: https://github.com/sunny10031982/kube-diagrams

    • Generate Kubernetes diagrams
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python with Diagrams
    • Usage mode: CLI
    • Input formats: K8s API
    • Supported Kubernetes resources
      • Ingress
      • Pod
      • Service
    • KIS supported
    • Resource clustering based on Ingress hosts and paths
    • Output formats: PNG
  • k8d: https://github.com/NickSchleicher/k8d

    • Diagram Kubernetes Network Policies
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Go
    • Usage mode: CLI
    • Input formats: K8s API
    • Supported Kubernetes resources
      • NetworkPolicy
      • Pod
    • KIS supported
    • Resource clustering unsupported
    • Output formats: draw.io
  • k8s_diagram: https://github.com/MrSir/k8s_diagram

    • A simple package to generate mermaid.js diagram of your Kubernetes Cluster
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python
    • Usage mode: None
    • Input formats: K8s API
    • Kubernetes resources supported
      • CronJob
      • Deployment
      • Job
      • Namespace
      • Pod
      • ReplicaSet
      • Service
      • StatefulSet
    • KIS supported
    • Resource clustering unsupported
    • Output formats: PNG
  • Kubernetes to Draw.io Converter: https://github.com/nevidanniu/k8s-to-drawio

    • A CLI tool that converts Kubernetes manifests to Draw.io diagrams with Kustomize support
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Go
    • Usage mode: CLI
    • Input formats: K8s manifests, kustomization files
    • Kubernetes resources supported
      • ConfigMap
      • DaemonSet
      • Deployment
      • Ingress
      • Namespace
      • PersistentVolume
      • PersistentVolumeClaim
      • Secret
      • Service
      • ServiceAccount
      • StatefulSet
    • KIS unsupported
    • Resource clustering based on namespaces
    • Output formats: draw.io
  • Koomos: https://github.com/Pitchouneee/koomos

    • CLI to generate architecture diagrams from Kubernetes YAML (Kustomize, ArgoCD, Helm)
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Go
    • Usage mode: CLI
    • Input formats: K8s manifests, kustomization files
    • Kubernetes resources supported
      • Deployment
      • Ingress
      • Service
      • any other resource kinds
    • KIS unsupported
    • Resource clustering based on namespaces
    • Output formats: Mermaid
  • KubeDraw: https://github.com/B0nam/kubedraw

    • A Python-based tool designed to simplify the visualization of Kubernetes infrastructure
    • License
    • Popularity:
      • GitHub Repo stars
      • GitHub Repo forks
    • Activity:
      • GitHub Created At
      • GitHub last commit
      • GitHub commit activity
      • GitHub contributors
    • Implementation: Python with Diagrams
    • Usage mode: CLI
    • Input formats: K8s API
    • Kubernetes resources supported
      • Deployment
      • Ingress
      • Namespace
      • Pod
      • Service
    • KIS supported
    • Resource clustering unsupported
    • Output formats: PNG
  • Kubeviz: https://www.bitfoundry.co/visualizing-kubernetes-manifests-and-helm-chart-with-kubeviz/

    • A Web app to visualize your Kubernetes installation, helm chart, manifest without installation
    • License not open source
    • Popularity: no data available
    • Activity: no data available
    • Implementation: Diagrams
    • Usage mode: SaaS
    • Input formats: K8s manifests and Helm charts
    • Kubernetes resources supported
      • ConfigMap
      • CronJob
      • DaemonSet
      • Deployment
      • Ingress
      • Job
      • Pod
      • Secret
      • Service
    • KIS supported
    • Resource clustering based on namespaces
    • Output formats: PNG

Comparison Tables

Tool K8s Kinds KIS Support Activity Popularity
KubeDiagrams 47+ Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
KubeView 14 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
kubectl-graph 8+ No GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
Lens Resource Map 9 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
k8sviz 12 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
Kubernetes diagrams 8 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
GruCloud 14 No GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
k8s-to-mermaid 14 No GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
K8s Diagram architecture generator 9 No GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
react-k8s-viewer 9 No GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
K8s Diagram Previewer 11 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
k8s-diagrams 8 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
kube-diagram 3 No GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
kube-diagrams 3 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
k8d 2 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
k8s_diagram 8 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
Kubernetes to Draw.io Converter 11 No GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
Koomos 3+ No GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
KubeDraw 5 Yes GitHub Created At GitHub last commit GitHub contributors GitHub Repo stars
Kubeviz 9 Yes no data no data

By License

Tool License
KubeDiagrams GitHub Repo license
KubeView GitHub Repo license
kubectl-graph GitHub Repo license
Lens Resource Map GitHub Repo license
k8sviz GitHub Repo license
Kubernetes diagrams GitHub Repo license
GruCloud GitHub Repo license
k8s-to-mermaid GitHub Repo license
K8s Diagram architecture generator GitHub Repo license
react-k8s-viewer GitHub Repo license
K8s Diagram Previewer GitHub Repo license
k8s-diagrams GitHub Repo license
kube-diagram GitHub Repo license
kube-diagrams GitHub Repo license
k8d GitHub Repo license
k8s_diagram GitHub Repo license
Kubernetes to Draw.io Converter GitHub Repo license
Koomos GitHub Repo license
KubeDraw GitHub Repo license
Kubeviz no open source license
License #Tools %Tools
GitHub Repo license 8 40.00%
GitHub Repo license 6 30.00%
GitHub Repo license 3 15.00%
GitHub Repo license 2 10.00%
no open source license 1 5.00%

By Popularity

Tool Stars Forks
KubeDiagrams GitHub Repo stars GitHub Repo forks
KubeView GitHub Repo stars GitHub Repo forks
kubectl-graph GitHub Repo stars GitHub Repo forks
Lens Resource Map GitHub Repo stars GitHub Repo forks
k8sviz GitHub Repo stars GitHub Repo forks
Kubernetes diagrams GitHub Repo stars GitHub Repo forks
GruCloud GitHub Repo stars GitHub Repo forks
k8s-to-mermaid GitHub Repo stars GitHub Repo forks
K8s Diagram architecture generator GitHub Repo stars GitHub Repo forks
react-k8s-viewer GitHub Repo stars GitHub Repo forks
K8s Diagram Previewer GitHub Repo stars GitHub Repo forks
k8s-diagrams GitHub Repo stars GitHub Repo forks
kube-diagram GitHub Repo stars GitHub Repo forks
kube-diagrams GitHub Repo stars GitHub Repo forks
k8d GitHub Repo stars GitHub Repo forks
k8s_diagram GitHub Repo stars GitHub Repo forks
Kubernetes to Draw.io Converter GitHub Repo stars GitHub Repo forks
Koomos GitHub Repo stars GitHub Repo forks
KubeDraw GitHub Repo stars GitHub Repo forks
Kubeviz no data no data

By Activity

Tool Created At Last Commit Commits Contributors
KubeDiagrams GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
KubeView GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
kubectl-graph GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
Lens Resource Maps GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
k8sviz GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
Kubernetes diagrams GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
GruCloud GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
k8s-to-mermaid GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
K8s Diagram architecture generator GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
react-k8s-viewer GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
K8s Diagram Previewer GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
k8s-diagrams GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
kube-diagram GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
kube-diagrams GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
k8d GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
k8s_diagram GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
Kubernetes to Draw.io Converter GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
Koomos GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
KubeDraw GitHub Created At GitHub last commit GitHub commit activity GitHub contributors
Kubeviz no data no data no data no data

By Implementation Language

Tool Implementation Language
KubeDiagrams Python
KubeView JavaScript
kubectl-graph Go
Lens Resource Map TypeScript
k8sviz Go
Kubernetes diagrams Go
GruCloud JavaScript
k8s-to-mermaid Python
K8s Diagram architecture generator Go
react-k8s-viewer TypeScript
K8s Diagram Previewer Python
k8s-diagrams Python
kube-diagram Java
kube-diagrams Python
k8d Go
k8s_diagram Python
Kubernetes to Draw.io Converter Go
Koomos Go
KubeDraw Python
Kubeviz Unknown
Implementation Language #Tools %Tools
Go 7 35.00%
Python 7 35.00%
JavaScript 2 10.00%
TypeScript 2 10.00%
Java 1 5.00%
Unknown 1 5.00%

By Usage Mode

Tool CLI GUI SaaS
KubeDiagrams X X X
KubeView X
kubectl-graph X
Lens Resource Map X
k8sviz X
Kubernetes diagrams X
GruCloud X
k8s-to-mermaid X
K8s Diagram architecture generator X
react-k8s-viewer X
K8s Diagram Previewer X
k8s-diagrams X
kube-diagram X
kube-diagrams X
k8d X
k8s_diagram
Kubernetes to Draw.io Converter X
Koomos X
KubeDraw X
Kubeviz X
Usage Mode #Tools %Tools
CLI 15 75.00%
GUI 4 20.00%
SaaS 2 10.00%

By Input Formats

Tool K8s API K8s Manifest Kustomization File Helm Chart Helmfile Total
KubeDiagrams X X X X X 5
KubeView X 1
kubectl-graph X 1
Lens Resource Map X 1
k8sviz X 1
Kubernetes diagrams X 1
GruCloud 1 (JavaScript IaC)
k8s-to-mermaid X 1
K8s Diagram architecture generator annotations 1
react-k8s-viewer X 1
K8s Diagram Previewer X X 2
k8s-diagrams X 1
kube-diagram X 1
kube-diagrams X 1
k8d X 1
k8s_diagram X 1
Kubernetes to Draw.io Converter X X 2
Koomos X X 2
KubeDraw X 1
Kubeviz X X 2
Input Format #Tools %Tools
K8s API 11 55.00%
K8s Manifest 9 45.00%
Helm Chart 3 15.00%
Kustomization File 3 15.00%
Helmfile 1 5.00%
JavaScript IaC 1 5.00%

By K8s Kinds

Tool #Kinds ConfigMap ClusterRole ClusterRoleBinding CronJob CustomResourceDefinition DaemonSet Deployment Endpoints HorizontalPodAutoscaler Ingress Job Namespace NetworkPolicy Node PersistentVolume PersistentVolumeClaim Pod PodSecurityPolicy ReplicaSet Role RoleBinding Secret Service ServiceAccount StatefulSet StorageClass Others
KubeDiagrams 47+ X X X X X X X X X X X X X X X X X X X X X X X X X X Many
KubeView 14 X X X X X X X X X X X X X X
kubectl-graph 8+ X X X X X X X Route
Lens Resource Map 9 X X X X X X X X X
k8sviz 12 X X X X X X X X X X X X
Kubernetes diagrams 8 X X X X X X X X
GruCloud 14 X X X X X X X X X X X X X X
k8s-to-mermaid 14 X X X X X X X X X X X X X X
K8s Diagram architecture generator 9 X X X X X X X X X
react-k8s-viewer 9 X X X X X X X SealedSecret ServiceMonitor
K8s Diagram Previewer 11 X X X X X X X X X X X
k8s-diagrams 8 X X X X X X X X
kube-diagram 3 X X DeploymentConfig
kube-diagrams 3 X X X
k8d 2 X X
k8s_diagram 8 X X X X X X X X
Kubernetes to Draw.io Converter 11 X X X X X X X X X X X
Koomos 3+ X X X
KubeDraw 5 X X X X X
Kubeviz 9 X X X X X X X X X
Kind #Tools %Tools
Service 19 95.00%
Ingress 17 85.00%
Deployment 16 80.00%
Pod 15 75.00%
StatefulSet 11 55.00%
ConfigMap 10 50.00%
Namespace 10 50.00%
Secret 10 50.00%
CronJob 9 45.00%
DaemonSet 9 45.00%
PersistentVolumeClaim 9 45.00%
Job 8 40.00%
ReplicaSet 7 35.00%
Endpoints 4 20.00%
HorizontalPodAutoscaler 4 20.00%
NetworkPolicy 4 20.00%
PersistentVolume 4 20.00%
ServiceAccount 3 15.00%
ClusterRole 2 10.00%
ClusterRoleBinding 2 10.00%
Node 2 10.00%
Role 2 10.00%
RoleBinding 2 10.00%
Route 2 10.00%
ServiceMonitor 2 10.00%
CustomResourceDefinition 1 5.00%
DeploymentConfig 1 5.00%
PodSecurityPolicy 1 5.00%
SealedSecret 1 5.00%
StorageClass 1 5.00%

By Output Formats

Tool KIS Support DOT draw.io GIF JPG PNG PDF SVG TIFF Others
KubeDiagrams X X X X X X X X X Web
KubeView X Web
kubectl-graph X AQL, ArangoDB, CQL, Cypher, and Mermaid
Lens Resource Map X Web
k8sviz X X X X X X X X all Graphviz output formats
Kubernetes diagrams X X
GruCloud PlantUML
k8s-to-mermaid Mermaid
K8s Diagram architecture generator X X
react-k8s-viewer React Flow
K8s Diagram Previewer X X X X X X
k8s-diagrams X X X X X X
kube-diagram PlantUML
kube-diagrams X X
k8d X X
k8s_diagram X X
Kubernetes to Draw.io Converter X
Koomos Mermaid
KubeDraw X X
Kubeviz X X
#Tools %Tools
KIS Support 12 60.00%
Output Format #Tools %Tools
PNG 9 45.00%
DOT 6 30.00%
JPG 4 20.00%
PDF 4 20.00%
SVG 4 20.00%
Web (incl. React Flow) 4 20.00%
draw.io 3 15.00%
Mermaid 3 15.00%
TIFF 3 15.00%
GIF 2 10.00%
PlantUML 2 10.00%
AQL 1 5.00%
ArangoDB 1 5.00%
CQL 1 5.00%
Cypher 1 5.00%

By Resource Clustering

Tool Clustering Support Namespaces Owners Labels Annotations Others
KubeDiagrams X X X X
KubeView
kubectl-graph
Lens Resource Map
k8sviz X X
Kubernetes diagrams X X X
GruCloud
k8s-to-mermaid
K8s Diagram architecture generator
react-k8s-viewer
K8s Diagram Previewer X X X
k8s-diagrams X X
kube-diagram
kube-diagrams X Ingress hosts and paths
k8d
k8s_diagram
Kubernetes to Draw.io Converter X X
Koomos X X
KubeDraw
Kubeviz X X
Resource Clustering #Tools %Tools
Supported 9 45.00%
Namespaces 8 40.00%
Owners 2 10.00%
Labels 1 5.00%
Annotations 1 5.00%
Others 1 5.00%

Comparing generated diagrams

Following generated diagrams are based on the official Kubernetes WordPress tutorial. See the used WordPress manifest declaring seven resources: 2 Services, 2 Deployments, 2 PersistentVolumeClaims, and 1 Secret.

Architecture diagram generated from the WordPress manifest:

diagram

Strengths:

  • All seven resources and all their relationships are represented.
  • Namespace and label-based clustering.

Weaknesses: None.

Architecture diagram generated from a WordPress instance deployed on a Kubernetes cluster:

diagram

Strengths:

  • Cluster resources, i.e., PersistentVolume and Node, are represented.

Weaknesses:

  • Too many edges to the Secret and PersistentVolumeClaim resources!

Architecture diagram generated from a WordPress instance deployed on a Kubernetes cluster:

diagram

Strengths:

  • All resources are represented.

Weaknesses:

  • 2 edges from each pod to the secret are not represented!
  • 2 edges from each pod to the kube-root-ca.crt config map are not represented!

Architecture diagram generated from a WordPress instance deployed on a Kubernetes cluster:

diagram

Strengths:

  • All resources are represented.

Weaknesses:

  • No Kubernetes icons!
  • 2 edges from each pod to the secret are not represented!
  • 2 edges from each pod to the kube-root-ca.crt config map are not represented!
  • 2 edges from each persistent volume claim to its persistent volume are not represented!

Architecture diagram generated from a WordPress instance deployed on a Kubernetes cluster:

diagram

Strengths:

  • All seven resources are represented.

Weaknesses:

  • 2 ReplicaSets are not represented!
  • The kube-root-ca.crt config map is not represented!

Architecture diagram generated from a WordPress instance deployed on a Kubernetes cluster:

diagram

Strengths:

  • Namespace clustering.

Weaknesses:

  • The secret and edges to it are not represented!
  • The kube-root-ca.crt config map is not represented!

Architecture diagram generated from a WordPress instance deployed on a Kubernetes cluster:

diagram

Strengths:

  • ReplicaSet clustering.

Weaknesses:

  • The secret and edges to it are not represented!
  • The kube-root-ca.crt config map is not represented!

TODO but requires rewriting the WordPress manifest with GruCloud's JavaScript-based DSL!

Architecture diagram generated from the WordPress manifest:

classDiagram
class Service_default_wordpress_mysql {
  +kind: Service
  +api_version: v1
  +name: wordpress-mysql
  +namespace: default
  +ports: [(3306, 'TCP', None)]
  +service_type: ClusterIP
  +cluster_ip: None
  +is_headless: ✓
}
class PersistentVolumeClaim_default_mysql_pv_claim {
  +kind: PersistentVolumeClaim
  +api_version: v1
  +name: mysql-pv-claim
  +namespace: default
  +ports: []
  +access_modes: ['ReadWriteOnce']
  +storage_size: 512M
}
class Deployment_default_wordpress_mysql {
  +kind: Deployment
  +api_version: apps/v1
  +name: wordpress-mysql
  +namespace: default
  +image: mysql:8.0
  +ports: []
}
class Secret_default_mysql_pass {
  +kind: Secret
  +api_version: v1
  +name: mysql-pass
  +namespace: default
  +ports: []
  +data_keys: ['password']
  +secret_type: Opaque
}
class Service_default_wordpress {
  +kind: Service
  +api_version: v1
  +name: wordpress
  +namespace: default
  +ports: [(80, 'TCP', None)]
  +service_type: LoadBalancer
  +is_headless: ✗
}
class PersistentVolumeClaim_default_wp_pv_claim {
  +kind: PersistentVolumeClaim
  +api_version: v1
  +name: wp-pv-claim
  +namespace: default
  +ports: []
  +access_modes: ['ReadWriteOnce']
  +storage_size: 512M
}
class Deployment_default_wordpress {
  +kind: Deployment
  +api_version: apps/v1
  +name: wordpress
  +namespace: default
  +image: wordpress:6.2.1-apache
  +ports: []
}

  %% Relationships
Deployment_default_wordpress_mysql --> Secret_default_mysql_pass : reads_secret_key
Deployment_default_wordpress_mysql --> Secret_default_mysql_pass : reads_secret_key
Deployment_default_wordpress --> Secret_default_mysql_pass : reads_secret_key
Loading

Strengths:

  • All seven resources are represented.

Weaknesses:

  • No Kubernetes icons!
  • 4 edges from Services to Deployments and from Deployments to PersistentVolumeClaims are not represented!

TODO but requires annotating the WordPress manifest with K8s Diagram architecture generator annotations!

TODO but lacks documentation on how to run the tool!

Architecture diagram generated from the WordPress manifest:

diagram

Strengths:

  • All seven resources are represented.
  • Deployment and ReplicaSet-based clustering.

Weaknesses: None.

Failed on a thrown AttributeError exception!

TODO but only supports CronJob, DeploymentConfig, and Service kinds!

Failed on a thrown ImportError exception!

TODO but only supports Pod and NetworkPolicy kinds!

TODO but lacks a CLI!

TODO but build failed!

Architecture diagram generated from the WordPress manifest:

graph TD
  subgraph "default namespace"
    wordpress_mysql_service["wordpress-mysql<br>(Service)"]
    mysql_pv_claim_persistentvolumeclaim["mysql-pv-claim<br>(PersistentVolumeClaim)"]
    wordpress_mysql_deployment["wordpress-mysql<br>(Deployment)"]
    mysql_pass_secret["mysql-pass<br>(Secret)"]
    wordpress_service["wordpress<br>(Service)"]
    wp_pv_claim_persistentvolumeclaim["wp-pv-claim<br>(PersistentVolumeClaim)"]
    wordpress_deployment["wordpress<br>(Deployment)"]
  end

  wordpress_mysql_service --> wordpress_mysql_deployment
  wordpress_mysql_deployment --> mysql_pass_secret
  wordpress_service --> wordpress_deployment
  wordpress_deployment --> mysql_pass_secret
Loading

Strengths:

  • All seven resources are represented.

Weaknesses:

  • Edges from Deployment to PersistentVolumeClaim resources are not represented!

Architecture diagram generated from a WordPress instance deployed on a Kubernetes cluster:

diagram

Strengths: None.

Weaknesses:

  • Secret and PersistentVolumeClaim resources are not represented!
  • The kube-root-ca.crt config map is not represented!
  • Pod labels overlap!

TODO but the Kubeviz site appears to be down!

Popularity History

Star History Chart

Activity Timeline

Activity Timeline Generated with http://www.frisechronos.fr/DojoMain.htm)

Various Other Resources

Star History

Star History Chart

About

Awesome Kubernetes Architecture Diagrams

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors