meshach

command module
v0.0.0-...-7a5359b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

README

Go Report Card codecov Actions Status Actions Status

meshach

It is in charge of all things about implementation of Service Mesh.

What are our tasks?

  1. Retrieving the data of service & instances from a registry center such as Nacos, zookeeper.
  2. Generating the istio's CRD through various data such as registry data & configurations.
  3. Make MOSN be able to support serve a registry request which comes from a dubbo provider.

architecture-diagram

Installing and running

Build

Direct compilation:

$ make manager

Build docker image and push:

$ make docker-build
$ make docker-push

You can customize the docker repository by modifying the IMG_ADDR variable in the Makefile.

Deploy

Install CRD:

$ make install

Install CRD no validations:

$ kubectl apply -f config/crd/simple

Create sample Meshconfig and default Sidecar:

$ kubectl apply -f config/samples/mesh_v1alpha1_meshconfig.yaml -f config/samples/istio_default_sidecar.yaml

Deploy adapter and controller:

$ make deploy

You can customize the deployment by modifying the config/operator and config/adapter kustomize config files.

Config
Istio Config
env:
  - name: PILOT_PUSH_THROTTLE
    value: "1000"
  - name: PILOT_DEBOUNCE_AFTER
    value: 100ms
  - name: PILOT_DEBOUNCE_MAX
    value: 5s
  - name: PILOT_ENABLE_EDS_DEBOUNCE
    value: "false"
  - name: PILOT_ENABLE_SERVICEENTRY_SELECT_PODS
    value: "false"
  - name: PILOT_ENABLE_K8S_SELECT_WORKLOAD_ENTRIES
    value: "false"
  - name: PILOT_XDS_CACHE_SIZE
    value: "50000"
  - name: PILOT_ENABLE_HEADLESS_SERVICE_POD_LISTENERS
    value: "false"

Getting support

Features

Adapter:

  • Synchronizing services from a specified registry center.
  • Synchronizing the customized configuration of service from a specified config center
Source

The implementing for synchronizing services:

  • Zookeeper servers of a dubbo cluster (Supported)
  • Nacos (Planned)

The implementing for synchronizing configs:

  • The configuration stored as a independent zNode for a dubbo service
  • Nacos (Planned)
Target

The event handler what is used for creating or updating the services with its configuration

  • Creating a CR named ConfiguredService correspond to a service into a single k8s cluster (Supported)
  • Creating the CR into multiple k8s clusters (Supported)
Supported
Planned

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +kubebuilder:object:generate=true +groupName=mesh.symcn.com
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +kubebuilder:object:generate=true +groupName=mesh.symcn.com
cmd
meshach/app
Package app contains all the commands that operator need to start.
Package app contains all the commands that operator need to start.
pkg
adapter/debounce
Package debounce provides a debouncer func.
Package debounce provides a debouncer func.
mcp
Package test is a generated GoMock package.
Package test is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL