Skip to content

chazzrobbz/awesome-cloud-native

 
 

Repository files navigation

Awesome Cloud Native Awesome

A curated list of open-source cloud native tools, software, and tutorials.

云原生开源工具、软件、教程大全。

Cloud Native is a behavior and design philosophy. At its essence, any behavior or approach that improves resource utilization and application delivery efficiency in the cloud is called Cloud Native.

Contents

AI

  • allennlp - An open-source NLP research library, built on PyTorch.
  • caffe2 - Caffe2 is a lightweight, modular, and scalable deep learning framework.
  • elasticdl - Kubernetes-native Deep Learning Framework.
  • h2o-3 - Open Source Fast Scalable Machine Learning API For Smarter Applications (Deep Learning, Gradient Boosting, Random Forest, Generalized Linear Modeling (Logistic Regression, Elastic Net), K-Means, PCA, Stacked Ensembles.)
  • keras - Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano.
  • kubeflow - Machine Learning Toolkit for Kubernetes.
  • leaf - Open Machine Intelligence Framework for Hackers. (GPU/CPU).
  • paddlepaddle - PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署).
  • predictionio - PredictionIO, a machine learning server for developers and ML engineers.
  • pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
  • seldon-core - A framework to deploy, manage and scale your production machine learning to thousands of models.
  • sqlflow - Brings SQL and AI together.
  • tensorflow - Computation using data flow graphs for scalable machine learning.

API Gateway

  • apisix - The Cloud-Native API Gateway.
  • ambassador - Ambassador: a self-service API gateway for microservices built on Lyft Envoy.
  • express-gateway - A microservices API Gateway built on top of ExpressJS.
  • hango-gateway - Hango API Gateway, build on Envoy & Istio.
  • kong - The Microservice API Gateway.
  • lura - Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation.
  • orange - OpenResty/Nginx Gateway for API Monitoring and Management.
  • ocelot - .NET core API Gateway.
  • tyk - Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols.

Application Delivery

  • argo-cd - Declarative continuous deployment for Kubernetes.
  • argo - Get stuff done with container-native workflows for Kubernetes.
  • arkade - Kubernetes apps for developers.
  • armada - A python orchestrator for a installing, upgrading, and managing a collection of helm charts, dependencies, and values overrides.
  • autoapply - Automatically apply changes from a git repository to Kubernetes.
  • ballerina-lang - Ballerina is a new programming language for integration built on a sequence diagram metaphor.
  • beetle - Kubernetes multi-cluster deployment automation service.
  • binderhub - Run your code in the cloud, with technology so advanced, it feels like magic!
  • build - A Kubernetes-native Build resource.
  • capact - A framework to manage applications and infrastructure in a unified way.
  • cdk8s - Define Kubernetes native apps and abstractions using object-oriented programming.
  • cds - Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform.
  • charitify - Generate Helm Charts from Kubernetes objects.
  • circleci - Continuous Integration and Deployment.
  • cloudbase-framework - 🚀 A front-end and back-end integrated deployment tool 🔥 One-click deploy to serverless architecture. 云原生一体化部署工具 CloudBase Framework.
  • cnab-spec - Cloud Native Application Bundle Specification.
  • commandeer - Cloud management desktop app for macOS, Windows, and Linux.
  • containerops - DevOps Orchestration Platform.
  • couler - Unified Interface for Constructing and Managing Workflows
  • crane - Yet another control plane based on docker built-in swarmkit.
  • crossplane - An Open Source Multicloud Control Plane.
  • cross-cloud - Cross Cloud Continuous Integration.
  • cue - Validate and define text-based and dynamic configuration.
  • cyclone - Powerful workflow engine and end-to-end pipeline solutions implemented with native Kubernetes resources.
  • devtron - Software Delivery Workflow For Kubernetes
  • draft - A tool for developers to create cloud-native applications on Kubernetes.
  • drone - Drone is a Continuous Delivery platform built on Docker, written in Go.
  • fabric8 - fabric8 is an open source microservices platform based on Docker, Kubernetes and Jenkins.
  • flagger - Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments) .
  • flux - A tool for turning container images into running Kubernetes services.
  • gitkube - Gitkube: Build and deploy docker images to Kubernetes using git push.
  • gockerize - Package golang service into minimal docker containers.
  • habitus - A build flow tool for Docker.
  • helm - The Kubernetes Package Manager.
  • helmfile - Deploy Kubernetes Helm Charts.
  • helmsman - Helm Charts as Code.
  • hiboot - Hiboot is a high performance web and cli application framework with dependency injection support.
  • hygieia - CapitalOne DevOps Dashboard.
  • hyscale - All things HyScale.
  • jenkins - Jenkins automation server.
  • jib - Build container images for your Java applications.
  • jsonnet - Jsonnet - The data templating language.
  • jx - A command line tool for installing and working with Jenkins X.
  • kaniko - Build Container Images In Kubernetes.
  • kd - Minimalistic kubernetes resources deployment tool with templating.
  • kdo - Deployless Development on Kubernetes.
  • kedge - Kedge - Concise Application Definition for Kubernetes.
  • kenyata - Automated Canary Service.
  • keptn - Keptn is a control-plane for continuous delivery and operations enable cloud-native applications to run autonomously.
  • kismatic - Kismatic Enterprise Toolkit: Fully-Automated, Production-Grade Kubernetes Operations.
  • kompose - Go from Docker Compose to Kubernetes.
  • kpt - Kpt is a toolkit to help you manage, manipulate, customize, and apply Kubernetes Resource configuration data files.
  • kubeapps - A web-based UI for deploying and managing applications in Kubernetes clusters.
  • kubegen - Kubegen – simple way to describe Kubernetes resources.
  • kubernetes-deploy - A command-line tool that helps you ship changes to a Kubernetes namespace and understand the result.
  • kubevela - Make shipping applications more enjoyable.
  • kustomize - Customization of kubernetes YAML configurations.
  • lastbackend - Container orchestration with CI&CD, cli and amazing UI.
  • mkit - MKIT is a Managed Kubernetes Inspection Tool that validates several common security-related configuration settings of managed Kubernetes cluster objects and the workloads/resources running inside the cluster.
  • opencompose - OpenCompose - A higher level abstraction for Kubernetes Resource.
  • pipeline - REST API to provision or reuse managed Kubernetes clusters in the cloud and deploy cloud native apps.
  • pipeline - A K8s-native Pipeline resource.
  • pulumi - A multi-language, multi-cloud development platform -- your code, your cloud, your team.
  • rudr - A Kubernetes implementation of the Open Application Model specification.
  • sealer - Seal your applications all dependencies and kubernetes into CloudImage! Build Deliver and Run user-defined clusters in one command.
  • skaffold - Easy and Repeatable Kubernetes Development.
  • smith - Smith: A microcontainer builder.
  • source-to-image - A tool for building/building artifacts from source and injecting into docker images.
  • spec - The Open Application Model specification.
  • spinnaker - Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.
  • terraform - Terraform is a tool for building, changing, and combining infrastructure safely and efficiently.
  • tilt - A multi-service dev environment for teams on Kubernetes.
  • wercker - The Wercker CLI can be used to execute pipelines locally for both local development and easy introspection.
  • woodpecker - Fork of drone.io v0.8 since drone is not fully opensource anymore.

Big Data

  • fast-data-dev - Kafka Docker for development. Kafka, Zookeeper, Schema Registry, Kafka-Connect, Landoop Tools, 20+ connectors.
  • pachyderm - Reproducible Data Science at Scale!
  • spark - Apache Spark enhanced with native Kubernetes scheduler back-end.
  • spark-on-kubernetes-helm - Spark on Kubernetes infrastructure Helm charts repo.
  • wallaroo - Ultrafast and elastic data processing.
  • v6d - vineyard (v6d), an in-memory immutable data manager.

Container Runtime

  • clear-containers - OCI (Open Containers Initiative) compatible runtime using Virtual Machines.
  • containerd - An open and reliable container runtime.
  • cri-containerd - Containerd-based implementation of Kubernetes Container Runtime Interface.
  • cri-o - Open Container Initiative-based implementation of Kubernetes Container Runtime Interface.
  • frakti - The hypervisor-based container runtime for Kubernetes.
  • gvisor - Sandboxed Container Runtime.
  • hyperd - HyperContainer Daemon.
  • img - Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder.
  • lima - Linux virtual machines, on macOS (aka "Linux-on-Mac", "macOS subsystem for Linux", "containerd for Mac", unofficially).
  • katacontainers - Kata Containers is a new open source project building extremely lightweight virtual machines that seamlessly plug into the containers ecosystem.
  • moby - Moby Project - a collaborative project for the container ecosystem to assemble container-based systems.
  • podman - A tool for managing OCI containers and pods.
  • pouch - Pouch is an open-source project created to promote the container technology movement.
  • railcar - RailCar: Rust implementation of the Open Containers Initiative oci-runtime.
  • rkt - Rkt is a pod-native container engine for Linux. It is composable, secure, and built on standards.
  • wasmCloud - wasmCloud is a universal host runtime for actors built with WebAssembly and capability providers.

Database

  • arangodb - ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
  • beringei - Beringei is a high performance, in-memory storage engine for time series data.
  • cockroachdb - CockroachDB - the open source, cloud-native SQL database.
  • couchdb - Apache CouchDB is one of a new breed of database management systems.
  • etcd - Distributed reliable key-value store for the most critical data of a distributed system.
  • influxdb - Scalable datastore for metrics, events, and real-time analytics.
  • kvrocks - Kvrocks is a distributed key value NoSQL database based on RocksDB and compatible with Redis protocol.
  • leveldb - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
  • m3 - M3 monorepo - Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform.
  • mehdb - Educational Kubernetes-native NoSQL datastore using StatefulSet and persistent volumes.
  • mongodb - MongoDB is an open source database that uses a document-oriented data model.
  • montydb - Monty, Mongo tinified. MongoDB implemented in Python.
  • nebula - A distributed, fast open-source graph database featuring horizontal scalability and high availability.
  • nocodb - The Open Source Airtable alternative.
  • oceanbase - A distributed, banking suitable, open-source related database featuring high scalability and high compatibility.
  • opentsdb - A scalable, distributed Time Series Database.
  • polardb-for-postgresql - PolarDB for PostgreSQL (PolarDB for short) is an open source database system based on PostgreSQL.
  • redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, HyperLogLogs, Bitmaps.
  • rethinkdb - The open-source database for the realtime web.
  • sharding-sphere - Distributed database middleware.
  • stolon - PostgreSQL cloud native High Availability and more.
  • tidb - TiDB is a distributed NewSQL database compatible with MySQL protocol.
  • tikv - Distributed transactional key-value database, originally created to complement TiDB.
  • tinydb - TinyDB is a lightweight document oriented database optimized for your happiness.

Edge Computing

  • akri - A Kubernetes Resource Interface for the Edge.
  • baetyl - Extend cloud computing, data and service seamlessly to edge devices.
  • eliot - Open source system for managing containerized applications in IoT device.
  • iotedge - The IoT Edge OSS project.
  • k0s - k0s - Zero Friction Kubernetes.
  • k3s - Lightweight Kubernetes. 5 less than k8s.
  • kubeedge - Kubernetes Native Edge Computing Framework (project under CNCF).
  • octopus - Lightweight device management system for Kubernetes/k3s.
  • openyurt - Extending your native Kubernetes to the edge.
  • superedge - An edge-native container management system for edge computing.

Kubernetes Operators

  • banzaicloud/bank-vaults - A Vault swiss-army knife: a K8s operator, Go client with automatic token renewal, automatic configuration, multiple unseal options and more. A CLI tool to init, unseal and configure Vault (auth methods, secret engines). Direct secret injection into Pods.
  • eunomia - A GitOps Operator for Kubernetes.
  • fabedge - Secure Edge Networking Based On Kubernetes And KubeEdge.
  • flagger - Istio progressive delivery Kubernetes operator.
  • keel - Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates.
  • kopf - A Python framework to write Kubernetes operators in just few lines of code.
  • kudo - Kubernetes Universal Declarative Operator (KUDO).
  • kubevirt - Kubernetes Virtualization Operator with API and runtime in order to define and manage virtual machines.
  • operator-lifecycle-manager - A management framework for extending Kubernetes with Operators.
  • operator-sdk - SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.
  • prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes.
  • spark-on-k8s-operator - Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.
  • strimzi-kafka-operator - Apache Kafka running on Kubernetes.
  • tidb-operator - TiDB operator creates and manages TiDB clusters running in Kubernetes.

Logging

  • beats - Beats - Lightweight shippers for Elasticsearch & Logstash.
  • collectbeat - Beats with discovery capabilities for environments like Kubernetes.
  • dagger - Dagger 是一个基于 Loki 的日志查询和管理系统.
  • egg - The simple error aggregator.
  • elasticsearch - Open Source, Distributed, RESTful Search Engine.
  • fluent-bit - Fast and Lightweight Log/Data Forwarder for Linux, BSD and macOS.
  • fluentd-pilot - Collect logs in docker containers.
  • fluentd - Fluentd: Unified Logging Layer (project under CNCF).
  • flume - Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
  • heapster - Compute Resource Usage Analysis and Monitoring of Container Clusters.
  • log-pilot - Collect logs in docker containers.
  • loki - Like Prometheus, but for logs.
  • telegraf - The plugin-driven server agent for collecting & reporting metrics.

Message Broker

  • emqx - EMQ X Broker - Scalable Distributed MQTT Message Broker for IoT in 5G Era.
  • eventmesh - EventMesh is a dynamic cloud-native eventing infrastructure used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.
  • flume - Apache Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
  • gnatsd - High-Performance server for NATS, the cloud native messaging system.
  • jocko - Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native).
  • pulsar - A distributed messaging and streaming platform.
  • kafka - A distributed streaming platform.
  • kubemq - KubeMQ is Enterprise-grade message broker native for Docker and Kubernetes.
  • nsq - A realtime distributed messaging platform.
  • rabbitmq - RabbitMQ is the most widely deployed open source message broker.
  • rocketmq - Apache RocketMQ is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability.

Miscellaneous

  • agones - Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes.

Monitoring

  • cadvisor - Analyzes resource usage and performance characteristics of running containers.
  • cortex - A multitenant, horizontally scalable Prometheus as a Service.
  • elasticsearch-hq - Monitoring and Management Web Application for ElasticSearch instances and clusters.
  • grafana - The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More.
  • hawkular-metrics - Time Series Metrics Engine based on Cassandra.
  • kibana - Kibana analytics and search dashboard for Elasticsearch.
  • kubernetes-zabbix - Kubernetes Zabbix/Grafana cluster (bare metal, Google Computer Engine - GCE, Google Container Engine - GKE).
  • kubenurse - Kubernetes network monitoring.
  • nexclipper - An open source software for monitoring Kubernetes and containers.
  • open-falcon - Enterprise Internet monitoring system from Xiaomi.
  • owl - Distributed monitoring system from TalkingData.
  • prometheus - The Prometheus monitoring system and time series database.
  • scope - Monitoring, visualisation & management for Docker & Kubernetes.
  • sofa-lookout - Lookout can help you to measure and monitor the status of the target system with its multi-dimensional metrics.
  • statsd - Daemon for easy but powerful stats aggregation.

Network

  • calico - A Pure Layer 3 Approach to Virtual Networking for Highly Scalable Data Centers.
  • cilium - API-aware Networking and Security using eBPF and XDP.
  • cni - Container Network Interface - networking for Linux containers.
  • cni-genie - CNI-Genie for choosing pod network of your choice during deployment time. Supported pod networks - Calico, Flannel, Romana, Weave.
  • contiv - Container networking for various use cases.
  • flannel - Flannel is a network fabric for containers, designed for Kubernetes.
  • hubble - Hubble - Network, Service & Security Observability for Kubernetes.
  • istio-cni - Istio CNI to setup kubernetes pod namespaces to redirect traffic to sidecar proxy.
  • knitter - Kubernetes network solution.
  • kube-router - Kube-router, a turnkey solution for Kubernetes networking.
  • kube-ovn - Kube-OVN, a Kubernetes network fabric for enterprises that is rich in functions and easy in operations.
  • matchbox - Network boot and provision Container Linux clusters (e.g. etcd3, Kubernetes, more).
  • submariner - Connect all your Kubernetes clusters, no matter where they are in the world.
  • weave - Simple, resilient multi-host Docker networking and more.

Observability

  • envoy-ui - Dead simple server-side UI for Envoy proxy (like HAproxy stats).
  • goldpinger - Debugging tool for Kubernetes which tests and displays connectivity between nodes in the cluster.
  • istio-ui - Istio config management backend.
  • kiali - Kiali project to help istio service mesh observability.
  • konstellate - Free and Open Source GUI to Visualize Kubernetes Applications.
  • kube-ops-view - Kubernetes Operational View - read-only system dashboard for multiple K8s clusters.
  • naftis - An excellent dashboard for Istio built with love.
  • octant - Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
  • vistio - Visualize your Istio mesh using Netflix's Vizceral.
  • vizceral - WebGL visualization for displaying animated traffic graphs.

Orchestration and Scheduler

  • alameda - Intelligent Resources Orchestrator for Kubernetes by using machine learning.
  • blox - Open source tools for building custom schedulers on Amazon ECS.
  • clusterset - Managing your Kubernetes clusters (including public, private, edge, etc) as easily as visiting the Internet.
  • compose - Define and run multi-container applications with Docker.
  • conductor - Conductor is a microservices orchestration engine.
  • dc/os - Datacenter Operating System.
  • deis - Deis v1, the CoreOS and Docker PaaS: Your PaaS. Your Rules.
  • descheduler - Descheduler for Kubernetes.
  • eks-distro - Amazon EKS Distro (EKS-D) is a Kubernetes distribution based on and used by Amazon Elastic Kubernetes Service (EKS) to create reliable and secure Kubernetes clusters.
  • fleet - Fleet ties together systemd and etcd into a distributed init system.
  • karmada - Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration
  • kruise - Automate application workloads management on Kubernetes.
  • kubernetes - Production-Grade Container Scheduling and Management.
  • marathon - Deploy and manage containers (including Docker) on top of Apache Mesos at scale.
  • mesos - Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.
  • pixie - Instant Kubernetes-Native Application Observability
  • serf - Service orchestration and management tool by hashicorp.
  • service-fabric - Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.
  • supergiant - Automatically scale hardware and easily run stateful applications using Kubernetes.
  • swan - A Distributed, Highly Available Mesos Scheduler, Inspired by the design of Google Borg.
  • swarm - Swarm: a Docker-native clustering system.
  • vamp - Vamp - canary releasing and autoscaling for microservice systems.
  • volcano - A Kubernetes Native Batch System (Project under CNCF).

Proxy

  • apisix-ingress-controller - Ingress controller for K8s.
  • caddy - Fast, cross-platform HTTP/2 web server with automatic HTTPS.
  • contour - Contour is a Kubernetes ingress controller for Lyft's Envoy proxy.
  • envoy-docker-shim - Run Envoy in place of docker-proxy.
  • envoy - C++ front/service proxy.
  • func-e - func-e (pronounced funky) makes running Envoy easy.
  • gimbal - Heptio Gimbal is an ingress load balancing platform capable of routing traffic to multiple Kubernetes and OpenStack clusters. Built by Heptio in partnership with Actapio.
  • gobetween - Modern & minimalistic load balancer for the Сloud era.
  • haproxy - HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
  • inlets-operator - Add public LoadBalancers to your local Kubernetes clusters.
  • kedge - kEdge - Kubernetes Edge Proxy for gRPC and HTTP Microservices.
  • katran - A high performance layer 4 load balancer.
  • kong-ingress - A Kubernetes Ingress for Kong.
  • kong/kubernetes-ingress-controller - Deploy Kong in a native Kubernetes Ingress Controller.
  • metallb - A network load-balancer implementation for Kubernetes using standard routing protocols.
  • mosn - MOSN is a cloud native proxy for edge or service mesh.
  • nginx-kubernetes-ingress - NGINX and NGINX Plus Ingress Controllers for Kubernetes.
  • nginx - Nginx is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.
  • reverse-proxy - A toolkit for developing high-performance HTTP reverse proxy applications.
  • ribbon - Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support.
  • skipper - An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress.
  • traefik - Træfik, a modern reverse proxy.
  • voyager - Secure Ingress Controller for Kubernetes.

RPC

  • brpc - Most common RPC framework used throughout Baidu, with 600,000+ instances and 500+ kinds of services, called "baidu-rpc" inside Baidu.
  • drpc - drpc is a lightweight, drop-in replacement for gRPC.
  • finagle - A fault tolerant, protocol-agnostic RPC system.
  • grpc - A high performance, open source, general-purpose RPC framework.
  • kitex - A high-performance and strong-extensibility Golang RPC framework that helps developers build microservices.
  • proxygen - A collection of C++ HTTP libraries including an easy to use HTTP server.
  • rsocket - Streaming message protocol with Reactive Extension/Stream semantics.
  • sofa-bolt - SOFABolt is a lightweight, easy to use and high performance remoting framework based on Netty.
  • sofa-rpc - SOFARPC is a high-performance, high-extensibility, production-level Java RPC framework.
  • tars - Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.
  • thrift - Apache thrift.

Security and Audit

  • apparmor - AppArmor is an effective and easy-to-use Linux application security system.
  • authenticator - A tool for using AWS IAM credentials to authenticate to a Kubernetes cluster.
  • awacs - Next-gen behavior analysis server (think Mixpanel, Google Analytics) with built-in encryption
  • cert-manager - Automatically provision and manage TLS certificates in Kubernetes.
  • checkov - A static analysis tool for infrastructure as code - to prevent misconfigs at build time.
  • clair - Vulnerability Static Analysis for Containers.
  • cost-model - Cross-cloud cost allocation models for workloads running on Kubernetes.
  • curiefense - Adds a broad set of automated web security tools to Envoy.
  • dex - OpenID Connect Identity (OIDC) and OAuth 2.0 Provider with Pluggable Connectors.
  • docker-bench-security - The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.
  • dockscan - Dockscan is security vulnerability and audit scanner for Docker installations.
  • drydock - Drydock provides a flexible way of assessing the security of your Docker daemon configuration and containers using editable audit templates.
  • falco - Behavioral Activity Monitoring With Container Support.
  • goldfish - A HashiCorp Vault UI panel written with VueJS and Vault native Go API.
  • grafeas - Cloud artifact metadata CRUD API and resource specifications.
  • guard - Kubernetes Authentication WebHook Server.
  • k8guard - An auditing system for Kubernetes.
  • keycloak - Open Source Identity and Access Management For Modern Applications and Services.
  • kratos - Next-gen identity server (think Auth0, Okta, Firebase) with Ory-hardened authentication, MFA, FIDO2, profile management, identity schemas, social sign in, registration, account recovery, service-to-service and IoT auth. Can work as an OAuth2 / OpenID Connect Provider. Golang, headless, API-only - without templating or theming headaches.
  • kritis - Deploy-time Policy Enforcer for Kubernetes applications.
  • kube-bench - The Kubernetes Bench for Security is a Go application that checks whether Kubernetes is deployed according to security best practices.
  • kube-lego - Automatically request certificates for Kubernetes Ingress resources from Let's Encrypt.
  • kube2iam - kube2iam provides different AWS IAM roles for pods running on Kubernetes.
  • kubed - A Kubernetes Cluster Operator Daemon.
  • kubescape - Kubescape is the first tool for testing if Kubernetes is deployed securely as defined in Kubernetes Hardening Guidance by to NSA and CISA.
  • kyverno - Kubernetes Native Policy Management.
  • notary - Notary is a Docker project that allows anyone to have trust over arbitrary collections of data.
  • opa - An open source project to policy-enable your service.
  • pomerium - Pomerium is a zero-trust context and identity aware access gateway inspired by BeyondCorp.
  • spiffe - The SPIFFE Project.
  • trivy - A Simple and Comprehensive Vulnerability Scanner for Containers, Suitable for CI.
  • vault - A tool for managing secrets.
  • vilicus - Vilicus is an open source tool that orchestrates security scans of container images(docker/oci) and centralizes all results into a database for further analysis and metrics.

Service Mesh

  • aeraki - Manage any layer 7 traffic in an Istio service mesh.
  • amalgam8 - Content and Version-based Routing Fabric for Polyglot Microservices.
  • consul - Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
  • easemesh - A service mesh implementation for connecting, control, and observe services in spring-cloud.
  • getmesh - An integration, and lifecycle management CLI tool that ensures the use of supported and trusted versions of Istio.
  • istio - Connect, secure, control, and observe services.
  • kuma - Universal Control Plane for your Service Mesh.
  • slime - Slime is a CRD controller for istio.
  • linkerd - Resilient service mesh for cloud native apps.
  • linkerd2 - Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
  • maesh - Simpler Service Mesh.
  • nginmesh - Service Mesh using Nginx.
  • nginx-unit - NGINX Unit is a new, lightweight, open source application server built to meet the demands of dynamic and distributed applications.
  • osm - Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
  • secretscanner - Find secrets and passwords in container images and file systems.
  • servicecomb - ServiceComb is a microservice framework that provides an easy way to develop and deploy applications in the cloud.
  • supergloo - The Service Mesh Orchestration Platform.

Service Registry and Discovery

  • admiral - Admiral provides automatic configuration generation, syncing and service discovery for multicluster Istio service mesh.
  • apollo - Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景.
  • confd - Manage local application configuration files using templates and data from etcd or consul.
  • coredns - CoreDNS is a DNS server that chains middleware.
  • eureka - AWS Service registry for resilient mid-tier load balancing and failover.
  • open-service-broker-sdk - A starting point for creating service brokers implementing the Open Service Broker API.
  • polaris - Service discovery and governance center for distributed and microservice architecture.
  • registrator - Service registry bridge for Docker with pluggable adapters.
  • rotor - Rotor is a fast, lightweight bridge between your service discovery and the configuration APIs of Envoy. Rotor supports Kubernetes, Consul, AWS (EC2 and ECS), DC/OS, flat files, and even other EDS/CDS implementations.
  • service-broker - Open Service Broker API Specification.
  • service-catalog - Consume services in Kubernetes using the Open Service Broker API.
  • skydns - DNS for skynet or any other service discovery.
  • steward - The Kubernetes-native Service Broker.
  • synapse - A transparent service discovery framework for connecting an SOA.
  • vulcand - Programmatic load balancer backed by Etcd.
  • zookeeper - Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination.

Serverless

  • booster - Booster is a framework for building and deploying reliable and scalable event-driven serverless applications.
  • dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
  • dispatch - Dispatch is a framework for deploying and managing serverless style applications.
  • easyfaas - EasyFaaS 是一个依赖轻、适配性强、资源占用少、无状态且高性能的函数计算服务引擎.
  • eventing - Open source specification and implementation of Knative event binding and delivery.
  • faas-netes - Enable Kubernetes as a backend for Functions as a Service (OpenFaaS).
  • firecamp - Serverless Platform for the stateful services.
  • firecracker - Secure and fast microVMs for serverless computing.
  • fission - Fast Serverless Functions for Kubernetes.
  • fn - The container native, cloud agnostic serverless platform.
  • funktion - A CLI tool for working with funktion.
  • fx - Poor man's serverless framework based on Docker, Function as a Service with painless.
  • gloo - The Function Gateway built on top of Envoy.
  • ironfunctions - IronFunctions - the serverless microservices platform.
  • keda - KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes.
  • knative-lambda-runtime - Running AWS Lambda Functions on Knative/Kubernetes Clusters.
  • knix - KNIX MicroFunctions is a serverless computing platform that combines container-based resource isolation with a lightweight execution model using processes to significantly improve resource efficiency and decrease the function startup latency. KNIX MicroFunctions works in Knative as well as bare metal or virtual machine-based environments.
  • kubeless - Kubernetes Native Serverless Framework.
  • layotto - A fast and efficient cloud native application runtime.
  • nuclio - High-Performance Serverless event and data processing platform.
  • openfaas - OpenFaaS - Serverless Functions Made Simple for Docker & Kubernetes.
  • openwhisk - Apache OpenWhisk (Incubating) is a serverless, open source cloud platform that executes functions in response to events at any scale.
  • osiris - A general purpose, scale-to-zero component for Kubernetes.
  • riff - Riff is for functions.
  • serverless - Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more!
  • serving - Kubernetes-based, scale-to-zero, request-driven compute.
  • spec - CloudEvents Specification.
  • sqoop - The GraphQL Engine powered by Gloo.
  • thanos - Highly available Prometheus setup with long term storage capabilities.

Stability

  • chaosblade - An easy to use and powerful chaos engineering experiment toolkit(阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具).
  • chaosmonkey - Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.
  • chaos-mesh - A Chaos Engineering Platform for Kubernetes.
  • concurrency-limits - Java Library that implements and integrates concepts from TCP congestion control to auto-detect concurrency limits to achieve optimal throughput with optimal latency.
  • hystrix - Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.
  • kubedoom - Kill Kubernetes pods by playing Id's DOOM!
  • metersphere - MeterSphere is an End-to-End open source continuous testing platform. MeterSphere 是一站式开源持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,全面兼容 JMeter、Postman、Swagger 等开源、主流标准.
  • ratelimit - Go/gRPC service designed to enable generic rate limit scenarios from different types of applications.
  • sentinel - A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)
  • toxiproxy - A TCP proxy to simulate network and system conditions for chaos and resiliency testing.

Storage

  • ceph - Ceph is a distributed object, block, and file storage platform.
  • chubaofs - A distributed storage system for cloud native applications.
  • convoy - A Docker volume plugin, managing persistent container volumes.
  • fastdfs - FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance.
  • flocker - Container data volume manager for your Dockerized application.
  • glusterd2 - GlusterD-2.0 is the distributed management framework to be used for GlusterFS-4.0.
  • glusterfs - Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage.
  • harbor - An open source trusted cloud native registry project that stores, signs, and scans content.
  • heketi - RESTful based volume management framework for GlusterFS.
  • juicefs - A distributed POSIX file system built on top of Redis and S3.
  • k8ssandra - K8ssandra is a collection of Helm charts for running Apache Cassandra on Kubernetes in production.
  • kubefs - Mount kubernetes metadata storage as a filesystem.
  • infinit - The Infinit policy-based software-defined storage platform.
  • leofs - The LeoFS Storage System.
  • longhorn - We put storage on cows and move them around from rancher.
  • minio - Minio is an open source object storage server compatible with Amazon S3 APIs.
  • openebs - OpenEBS is containerized block storage written in Go for cloud native and other environments w/ per container (or pod) QoS SLAs, tiering and replica policies across AZs and environments, and predictable and scalable performance.
  • rook - File, Block, and Object Storage Services for your Cloud-Native Environment.
  • storageos - Enterprise persistent storage for containers and the cloud.
  • torus - Torus Distributed Storage.
  • vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
  • zenko - Because everyone should be in control of their data.

Tools

  • aglio - An API Blueprint renderer with theme support that outputs static HTML.
  • ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications — automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.
  • ark - Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio.
  • buildx - Docker CLI plugin for extended build capabilities with BuildKit.
  • chaostoolkit - An Open API to Chaos Engineering.
  • che - Eclipse Che: Next-generation Eclipse IDE. Open source workspace server and cloud IDE.
  • client-go - Go client for Kubernetes.
  • cloud-native-sandbox - Cloud Native Sandbox can help you setup a standalone Kubernetes and Istio environment with Docker on you own laptop.
  • cluster-lifecycle-manager - Cluster Lifecycle Manager (CLM) to provision and update multiple Kubernetes clusters.
  • clusternet - Managing your Kubernetes clusters (including public, private, edge, etc) as easily as visiting the Internet.
  • compass - A Debugging Tool for your Kubernetes Deployments.
  • container-structure-test - Validate the structure of your container images.
  • container-transform - Transforms docker-compose, ECS, and Marathon configurations.
  • cost-model - Cross-cloud cost allocation models for workloads running on Kubernetes.
  • crashcart - CrashCart: sideload binaries into a running container.
  • cri-tools - CLI and validation tools for Kubelet Container Runtime Interface (CRI).
  • datree - CLI tool that automatically scans Kubernetes manifests and Helm charts to ensure they follow best practices as well as your organization’s policies.
  • devspace - Cloud Native Software Development with Kubernetes and Docker - simply run "devspace up" in any of your projects and start coding directly on top of Kubernetes (works with minikube, self-hosted and cloud-based clusters).
  • docker-elk - The ELK stack powered by Docker and Compose.
  • docker-pushrm - A Docker CLI plugin that that lets you push the README.md file from the current directory to Docker Hub. Also supports Quay and Harbor.
  • docker-wine - Docker image that includes Wine and Winetricks for running Windows applications on Linux and macOS.
  • dockersh - A shell which places users into individual docker containers.
  • dotmesh - Dotmesh (dm) is like git for your data volumes (databases, files etc) in Docker and Kubernetes.
  • dragonfly - Dragonfly is an intelligent P2P based file distribution system.
  • drakov - Mock Server that implements the API Blueprint specification.
  • eksctl - A CLI for Amazon EKS.
  • erda - An enterprise-grade application building, deploying, monitoring platform (An iPaaS).
  • escalator - Escalator is a batch or job optimized horizontal autoscaler for Kubernetes.
  • fleet - Manage large fleets of Kubernetes clusters.
  • freshpod - Restart Pods on Minikube automatically on image rebuilds.
  • fubectl - Reduces repetitive interactions with kubectl.
  • garden - Development orchestrator for Kubernetes, containers and serverless functions.
  • gardener - Kubernetes API server extension and controller manager providing conformant Kubernetes clusters (a.k.a. (off)shoot clusters) as a service (with day-2 ops) on Alibaba, AWS, Azure, GCP, and OpenStack.
  • go-kubectx - 5x-10x faster alternative to kubectx. Uses client-go.
  • istio-pod-network-controller - Controller to manage Istio Pod Network.
  • k - Exec into kubernetes pod easy (via kubectl).
  • k8s-mirror - Creates a local mirror of a Kubernetes cluster in a docker container to support offline reviewing.
  • k8s-snapshots - Automatic Volume Snapshots on Kubernetes.
  • kail - Kubernetes log viewer.
  • kcg - Kubernetes config generator.
  • kconmon - A Kubernetes node connectivity monitoring tool.
  • kpack - Kubernetes Native Container Build Service.
  • kind - Kubernetes IN Docker - local clusters for testing Kubernetes.
  • kip - Virtual-kubelet provider running pods in cloud instances.
  • kops - Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management.
  • krane - A command-line tool that helps you ship changes to a Kubernetes namespace and understand the result.
  • krustlet - Kubernetes Rust Kubelet.
  • ksonnet-lib - (technical preview) Simplify working with Kubernetes.
  • ksonnet - A CLI-supported framework that streamlines writing and deployment of Kubernetes configurations to multiple clusters.
  • ksync - Sync files between your local system and a kubernetes cluster.
  • kt-connect - Manage and Integration with your Kubernetes dev environment more efficient.
  • ktmpl - Parameterized templates for Kubernetes manifests.
  • kube-capacity - A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster.
  • kube-downscaler - Scale down Kubernetes deployments after work hours.
  • kube-fledged - A kubernetes add-on for creating and managing a cache of container images in a kubernetes cluster.
  • kube-linter - KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.
  • kube-ps1 - Kubernetes prompt info for bash and zsh.
  • kube-shell - Kubernetes shell: An integrated shell for working with the Kubernetes CLI.
  • kube-version-converter - Convert API Object file into specified version.
  • kubeasz - 使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响.
  • kubeadm-offline-installer - Setup a cluster with kubeadm, without internet connections.
  • kubeadm - Aggregator for issues filed against kubeadm.
  • kubebox - Terminal console for Kubernetes clusters.
  • kubebuilder - Kubebuilder - SDK for building Kubernetes APIs using CRDs.
  • kubecarrier - KubeCarrier - Service Management at Scale.
  • kubecdn - Self-hosted CDN based on Kubernetes.
  • kubecfg - A tool for managing complex enterprise Kubernetes environments as code.
  • kubectl-doctor - Kubectl cluster triage plugin for Kubernetes (brew doctor equivalent).
  • kubectl-trace - Schedule bpftrace programs on your kubernetes cluster using the kubectl.
  • kubectl-tree - kubectl plugin to browse Kubernetes object hierarchies as a tree 🎄 (using? star the repo!)
  • kubedb - KubeDB CLI to manage kubernetes ready production-grade Databases.
  • kubedirector - Kubernetes Director (aka KubeDirector) for deploying and managing stateful applications on Kubernetes.
  • kubefwd - Bulk port forwarding Kubernetes services for local development.
  • kubehandler - A framework for writing Kubernetes controllers.
  • kubeiql - A GraphQL interface for Kubernetes.
  • kubeletctl - A client for kubelet.
  • kubelibrary - Kubernetes library for Robot Framework.
  • kubeload - Jobs managing K8S operator for IAC-oriented load tests.
  • kubeonoff - A simple web UI for managing Kubernetes deployments.
  • kuberlr - A tool that simplifies the management of multiple versions of kubectl.
  • kubernetes-client - Java client for Kubernetes & OpenShift 3.
  • kubernetes-vagrant-centos-cluster - Setting up a distributed Kubernetes cluster along with Istio service mesh locally with Vagrant and VirtualBox.
  • kubespray - Setup a kubernetes cluster also mentioned as kargo.
  • kubespy - Tools for observing Kubernetes resources in real time, powered by Pulumi.
  • kubesql - A tool using sql to query the resources of kubernetes, such as pod, node and so on.
  • kubetap - Kubectl plugin to interactively proxy Kubernetes Services with ease.
  • kubeup - Cluster operation the Kubernetes way.
  • kubeutr - Cookie cutter templating tool for scaffolding K8s manifests.
  • kubie - A more powerful alternative to kubectx and kubens.
  • KubiScan - A tool to scan Kubernetes cluster for risky permissions.
  • kuui - UI that can be used to edit configmaps/secrets of your kubernetes cluster.
  • kvdi - A Kubernetes-native Virtual Desktop Infrastructure.
  • microconfig - Modern and simple way of microservice configuration management.
  • microk8s - A kubernetes cluster in a snap.
  • mindaro - Bridge to Kubernetes - for Visual Studio and Visual Studio Code
  • minikube - Run Kubernetes locally.
  • monday - A dev tool for microservice developers that run local applications and/or forward some others from Kubernetes or over SSH.
  • nocalhost - Nocalhost is Cloud Native Dev Environment.
  • okteto - Local development experience for Kubernetes apps.
  • packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
  • pangolin - An enhanced Horizontal Pod Autoscaler for Kubernetes.
  • pluto - A cli tool to help discover deprecated apiVersions in Kubernetes.
  • podtnl - A Powerful CLI that makes your pod available to online without exposing a Kubernetes service.
  • portainer - Simple management UI for Docker.
  • powerfulseal- A powerful testing tool for Kubernetes clusters.
  • rafter - Kubernetes-native S3-like files/assets store based on CRDs and powered by MinIO.
  • rback - RBAC in Kubernetes visualizer.
  • reloader - A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig.
  • searchlight - Alerts for Kubernetes.
  • seaworthy - A CLI to verify Kubernetes resource health.
  • skopeo - Work with remote images registries - retrieving information, images, signing content.
  • sloop - Kubernetes History Visualization.
  • sonobuoy - Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner.
  • squash - The debugger for microservices.
  • stash - Backup your Kubernetes Volumes.
  • statusbay - Kubernetes deployment visibility like a pro.
  • stern - Multi pod and container log tailing for Kubernetes.
  • swagger - Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
  • talos - A modern OS for Kubernetes.
  • tectonic-installer - Install a Kubernetes cluster the CoreOS Tectonic Way: HA, self-hosted, RBAC, etcd Operator, and more.
  • telepresence - Local development against a remote Kubernetes or OpenShift cluster.
  • terminus - Graceful shutdown and Kubernetes readiness / liveness checks for any Node.js HTTP applications.
  • test-infra - Test infrastructure for the Kubernetes project.
  • tensile-kube - A Kubernetes Provider.
  • tini - A tiny but valid init for containers.
  • tor-controller - Run Tor onion services on Kubernetes.
  • usernetes - Kubernetes installable under $HOME, without the root privileges.
  • vagrant - Vagrant is a tool for building and distributing development environments.
  • watchtower - Automatically update running Docker containers.
  • wksctl - Open Source Weaveworks Kubernetes System.
  • xlskubectl - A spreadsheet to control your Kubernetes cluster.

Tracing

  • appdash - Application tracing system for Go, based on Google's Dapper.
  • jaeger - Jaeger, a Distributed Tracing System.
  • opencensus - A single distribution of libraries that automatically collect traces and metrics from your app, display them locally, and send them to any backend.
  • opentelemetry - An observability framework for cloud-native software.
  • opentracing - Consistent, expressive, vendor-neutral APIs for distributed tracing and context propagation.
  • pinpoint - Pinpoint is an open source APM (Application Performance Management) tool for large-scale distributed systems written in Java.
  • sentry - Sentry is a cross-platform crash reporting and aggregation platform.
  • skywalking - An APM system for tracing, monitoring, diagnosing distributed systems, especially based on microservices, cloud native and container.
  • sofa-tracker - SOFATracer is a component for the distributed system call trace. And through a unified traceId logging the logs of various network calls in the invoking link . These logs can be used for quick discovery of faults, service governance, etc.
  • zipkin - Zipkin is a distributed tracing system.

Tutorials

UI

  • breeze - Wise2C ansible playbook for Kubernetes cluster installation.
  • choerodon - The open source PaaS for Kubernetes.
  • cloudfoundry - Cloud Foundry is an open source, multi cloud application platform as a service (PaaS) governed by the Cloud Foundry Foundation.
  • conjure-up - Deploying complex solutions, magically.
  • dashboard - General-purpose web UI for Kubernetes clusters.
  • kdash - A simple and fast dashboard for Kubernetes.
  • kqeen - Kubernetes queen - cluster manager.
  • kubermatic - The Central Kubernetes Management Platform For Any Infrastructure.
  • kubernator - Alternative Kubernetes UI.
  • kubesphere - Enterprise Container Managent Platform.
  • kubevious - Kubevious - application centric Kubernetes UI and continuous assurance provider.
  • oneinfra - Kubernetes as a Service.
  • opendcp - Docker platform developed by weibo.
  • openshift - Enterprise Kubernetes for Developers.
  • rainbond - Serverless PaaS , A new generation of easy-to-use cloud management platforms based on kubernetes.
  • rancher - Complete container management platform.
  • wayne - Web UI for Kubernetes multi-clusters.

Community

Contribute

This website is hosted on GitHub Pages within rootsongjc/awesome-cloud-native repository.

Please take a quick gander at the contribution guidelines first. Thanks to all contributors, you rock 🤟!

About

A curated list for awesome cloud native tools, software and tutorials. - https://jimmysong.io/awesome-cloud-native/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 73.7%
  • JavaScript 20.9%
  • CSS 3.5%
  • Go 1.9%