osm-edge
osm-edge copied to clipboard
osm-edge is a lightweight service mesh for the edge-computing. It's forked from openservicemesh/osm and use pipy as sidecar proxy.
Open Service Mesh Edge (OSM-Edge)
Open Service Mesh Edge (OSM-Edge) fork from Open Service Mesh is a lightweight, extensible, Cloud Native service mesh built purposely for Edge computing. OSM edge uses lightweight, Cloud Native, programmable proxy Pipy as sidecar proxy.
The OSM project builds on the ideas and implementations of many cloud native ecosystem projects including Linkerd, Istio, Consul, Pipy, Envoy, Kuma, Helm, and the SMI specification.
Table of Contents
-
Open Service Mesh Edge (OSM-Edge)
- Table of Contents
-
Overview
- Core Principles
- Documentation
- Features
- Project status
- Support
- SMI Specification support
- OSM Design
-
Install
- Prerequisites
- Get the OSM CLI
- Install OSM Edge
- Demonstration
-
Using OSM Edge
- Quick Start
- OSM Usage Patterns
- Community
- Development Guide
- Code of Conduct
- License
Overview
OSM-Edge runs an Sidecar based control plane on Kubernetes, can be configured with SMI APIs, and works by injecting a Pipy Sidecar 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
- Simple to understand and contribute to
- Effortless to install, maintain, and operate
- Painless to troubleshoot
- Easy to configure via Service Mesh Interface (SMI)
Documentation
Documentation pertaining to the usage of Open Service Mesh Edge is made available at osm-edge-docs.flomesh.io.
Documentation pertaining to development, release workflows, and other repository specific documentation, can be found in the docs folder.
Features
- Easily and transparently configure traffic shifting for deployments
- Secure service to service communication by enabling mTLS
- Define and execute fine grained access control policies for services
- Observability and insights into application metrics for debugging and monitoring services
- Integrate with external certificate management services/solutions with a pluggable interface
- Onboard applications onto the mesh by enabling automatic sidecar injection of Sidecar proxy
Project status
OSM-Edge is under active development and is 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 | v1alpha4 | |
TrafficMetrics | *.metrics.smi-spec.io | v1alpha1 | 🚧 In Progress 🚧 |
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 Edge
$ osm install
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 Edge
After installing OSM, onboard a microservice application to the service mesh.
Quick Start
Refer to Quick Start guide for step-by-step guide on how to start quickly.
OSM Usage Patterns
Community
Connect with the Open Service Mesh community:
- GitHub issues and pull requests in this repo
- OSM-Edge Slack: Join the Flomesh-io Slack for related discussions
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.