Giter Club home page Giter Club logo

withlin / osm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openservicemesh/osm

0.0 0.0 0.0 4.14 MB

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.

Home Page: https://openservicemesh.io/

License: MIT License

Go 95.90% Shell 3.08% Makefile 0.70% Dockerfile 0.05% Smarty 0.27%

osm's Introduction

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.

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)

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

SMI Specification support

Specification Component Supported Release Comments
Traffic Access Control v1alpha2
Traffic Specs v1alpha3
Traffic Split v1alpha2
Traffic Metrics v1alpha1 ๐Ÿšง In Progress #379 ๐Ÿšง

OSM Design

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

Getting Started

Below are quick getting started instructions. For a more detailed example usage guide and demo walkthrough, see the OSM Example Usage Guide.

Prerequisites

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

Installation Demo

OSM Install Demo

OSM CLI Install

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

Run Install Pre-flight Checks

$ osm check --pre-install
ok: initialize Kubernetes client
ok: query Kubernetes API
ok: Kubernetes version
ok: can create namespaces
ok: can create customresourcedefinitions
ok: can create clusterroles
ok: can create clusterrolebindings
ok: can create mutatingwebhookconfigurations
ok: can create serviceaccounts
ok: can create services
ok: can create deployments
ok: can create configmaps
ok: can read secrets
ok: can modify iptables
All checks successful!

Install OSM

$ osm install

See the installation guide for more detailed options.

Using OSM

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

OSM Usage Patterns

  1. Ingress and Egress
  2. Observability
  3. Certificates
  4. Sidecar Injection

Demo and Examples

The automated demo is a set of scripts anyone can run and shows how OSM can manage, secure and provide observability for microservice environments.

To explore the same demo step by step, see the example usage guide.

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 Microsoft Open Source Code of Conduct. See CODE_OF_CONDUCT.md for further details.

License

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

osm's People

Contributors

akshaysngupta avatar aramase avatar asridharan avatar bridgetkromhout avatar cecilerobertmichon avatar cxy55555 avatar delqn avatar devigned avatar draychev avatar eduser25 avatar elenaspasovaspasova avatar flynnduism avatar jont828 avatar jsturtevant avatar ksubrmnn avatar lachie83 avatar nojnhuh avatar phillipgibson avatar ritazh avatar sanyakochhar avatar shashankram avatar snehachhabria avatar vramakrishnan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.