Skip to content

Latest commit

 

History

History
114 lines (81 loc) · 2.97 KB

README.md

File metadata and controls

114 lines (81 loc) · 2.97 KB

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