Skip to content

symcn/meshach

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages