openservicemesh / Osm

Licence: apache-2.0
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.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Osm

Skywalking Data Collect Protocol
Data Collect Protocols of Apache SkyWalking
Stars: ✭ 49 (-97.79%)
Mutual labels:  service-mesh
Marblerun
Marblerun is the service mesh for confidential computing. Deploy, scale, and verify your confidential microservices on vanilla Kubernetes. 100% Go, 100% cloud native, 100% confidential
Stars: ✭ 98 (-95.59%)
Mutual labels:  service-mesh
Layer5
Layer5, the service mesh company, representing every service mesh
Stars: ✭ 137 (-93.83%)
Mutual labels:  service-mesh
Envoy Control
Envoy Control is a platform-agnostic, production-ready Control Plane for Service Mesh based on Envoy Proxy.
Stars: ✭ 66 (-97.03%)
Mutual labels:  service-mesh
Dolphin
Distributed API Gateway
Stars: ✭ 84 (-96.22%)
Mutual labels:  service-mesh
Workshop Material
Material for Kubernetes and Istio workshop https://learnistio.com
Stars: ✭ 113 (-94.91%)
Mutual labels:  service-mesh
Learn Istio
⛵️ Istio resources 🕸
Stars: ✭ 1,025 (-53.83%)
Mutual labels:  service-mesh
Naftis
An awesome dashboard for Istio built with love.
Stars: ✭ 1,859 (-16.26%)
Mutual labels:  service-mesh
Vproxy
1) proxy: LB,DNS,Socks. 2) k8s: CRD and Controllers. 3) sdn: L3 Stackable Virtual Switch.
Stars: ✭ 88 (-96.04%)
Mutual labels:  service-mesh
Istio Vet
Utility for validating Istio configuration in kubernetes cluster
Stars: ✭ 126 (-94.32%)
Mutual labels:  service-mesh
Kubernetes Handbook
Kubernetes中文指南/云原生应用架构实践手册 - https://jimmysong.io/kubernetes-handbook
Stars: ✭ 9,420 (+324.32%)
Mutual labels:  service-mesh
Blockerized Dockchain
Because all problems are solvable with containers and blockchains
Stars: ✭ 77 (-96.53%)
Mutual labels:  service-mesh
Istio Handbook
Istio Service Mesh Advanced Practical - Istio服务网格进阶实战 https://www.servicemesher.com/istio-handbook/
Stars: ✭ 1,646 (-25.86%)
Mutual labels:  service-mesh
Micro Mesh
gRPC微服务架构实践
Stars: ✭ 50 (-97.75%)
Mutual labels:  service-mesh
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 1,903 (-14.28%)
Mutual labels:  service-mesh
Linkerd2 Proxy
A purpose-built proxy for the Linkerd service mesh. Written in Rust.
Stars: ✭ 1,043 (-53.02%)
Mutual labels:  service-mesh
Mesh
Traefik Mesh - Simpler Service Mesh
Stars: ✭ 1,571 (-29.23%)
Mutual labels:  service-mesh
Amalgam8
Content and Version-based Routing Fabric for Polyglot Microservices
Stars: ✭ 152 (-93.15%)
Mutual labels:  service-mesh
Rpcx Gateway
http gateway for rpcx services. Clients in any programming languages can call them
Stars: ✭ 145 (-93.47%)
Mutual labels:  service-mesh
Motan Openresty
A cross-language RPC framework for rapid development of high performance distributed services based on OpenResty.
Stars: ✭ 117 (-94.73%)
Mutual labels:  service-mesh

Open Service Mesh (OSM)

build report codecov License: MIT release

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.

The OSM project builds on the ideas and implementations of many cloud native ecosystem projects including Linkerd, Istio, Consul, Envoy, Kuma, Helm, and the SMI specification.

Table of Contents

Overview

OSM runs an Envoy based control plane on Kubernetes, can be configured with SMI APIs, and works by injecting an Envoy proxy as a sidecar container next to each instance of your application. The proxy contains and executes rules around access control policies, implements routing configuration, and captures metrics. The control plane continually configures proxies to ensure policies and routing rules are up to date and ensures proxies are healthy.

Core Principles

  1. Simple to understand and contribute to
  2. Effortless to install, maintain, and operate
  3. Painless to troubleshoot
  4. Easy to configure via Service Mesh Interface (SMI)

Documentation

Documentation pertaining to the usage of Open Service Mesh is made available at docs.openservicemesh.io.

Documentation pertaining to development, release workflows, and other repository specific documentation, can be found in the docs folder.

Features

  1. Easily and transparently configure traffic shifting for deployments
  2. Secure service to service communication by enabling mTLS
  3. Define and execute fine grained access control policies for services
  4. Observability and insights into application metrics for debugging and monitoring services
  5. Integrate with external certificate management services/solutions with a pluggable interface
  6. Onboard applications onto the mesh by enabling automatic sidecar injection of Envoy proxy

Project status

OSM is under active development and is NOT ready for production workloads.

Support

Please search open issues on GitHub, and if your issue isn't already represented please open a new one. The OSM project maintainers will respond to the best of their abilities.

SMI Specification support

Kind SMI Resource Supported Version Comments
TrafficTarget traffictargets.access.smi-spec.io v1alpha3
HTTPRouteGroup httproutegroups.specs.smi-spec.io v1alpha4
TCPRoute tcproutes.specs.smi-spec.io v1alpha4
UDPRoute udproutes.specs.smi-spec.io not supported
TrafficSplit trafficsplits.split.smi-spec.io v1alpha2
TrafficMetrics *.metrics.smi-spec.io v1alpha1 🚧 In Progress #379 🚧

OSM Design

Read more about OSM's high level goals, design, and architecture.

Install

Prerequisites

  • Kubernetes cluster running Kubernetes v1.19.0 or greater
  • kubectl current context is configured for the target cluster install
    • kubectl config current-context

Get the OSM CLI

The simplest way of installing Open Service Mesh on a Kubernetes cluster is by using the osm CLI.

Download the osm binary from the Releases page. Unpack the osm binary and add it to $PATH to get started.

sudo mv ./osm /usr/local/bin/osm

Install OSM

$ osm install

OSM Install Demo

See the installation guide for more detailed options.

Demonstration

The OSM Bookstore demo is a step-by-step walkthrough of how to install a bookbuyer and bookstore apps, and configure connectivity between these using SMI.

Using OSM

After installing OSM, onboard a microservice application to the service mesh.

OSM Usage Patterns

  1. Traffic Management
  2. Observability
  3. Certificates
  4. Sidecar Injection

Community

Connect with the Open Service Mesh community:

Development Guide

If you would like to contribute to OSM, check out the development guide.

Code of Conduct

This project has adopted the CNCF Code of Conduct. See CODE_OF_CONDUCT.md for further details.

License

This software is covered under the Apache 2.0 license. You can read the license here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].