Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/symcn/meshach
It is in charge of all things about implements of Service Mesh.
https://github.com/symcn/meshach
Last synced: 2 months ago
JSON representation
It is in charge of all things about implements of Service Mesh.
- Host: GitHub
- URL: https://github.com/symcn/meshach
- Owner: symcn
- License: apache-2.0
- Created: 2020-05-08T01:14:47.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-05-05T02:31:32.000Z (over 1 year ago)
- Last Synced: 2024-08-05T17:23:34.315Z (6 months ago)
- Language: Go
- Size: 1.01 MB
- Stars: 22
- Watchers: 7
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cloud-native - meshach - It is in charge of all things about implements of Service Mesh. (Service Mesh)
README
[![Go Report Card](https://goreportcard.com/badge/github.com/symcn/meshach)](https://goreportcard.com/report/github.com/symcn/meshach)
[![codecov](https://codecov.io/gh/symcn/meshach/branch/master/graph/badge.svg)](https://codecov.io/gh/symcn/meshach)
[![Actions Status](https://github.com/symcn/meshach/workflows/go-build/badge.svg)](https://github.com/symcn/meshach/actions?query=workflow%3Ago-build)
[![Actions Status](https://github.com/symcn/meshach/workflows/pre-commit/badge.svg)](https://github.com/symcn/meshach/actions?query=workflow%3Apre-commit)
# 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](./docs/architecture-diagram.png)
## Installing and running
### Build
Direct compilation:
```shell
$ make manager
```Build docker image and push:
```shell
$ make docker-build
$ make docker-push
```You can customize the docker repository by modifying the `IMG_ADDR` variable in the [Makefile](./Makefile).
### Deploy
Install CRD:
```shell
$ make install
```Install CRD no validations:
```shell
$ kubectl apply -f config/crd/simple
```Create sample Meshconfig and default Sidecar:
```shell
$ kubectl apply -f config/samples/mesh_v1alpha1_meshconfig.yaml -f config/samples/istio_default_sidecar.yaml
```Deploy adapter and controller:
```shell
$ make deploy
```You can customize the deployment by modifying the `config/operator` and `config/adapter` kustomize config files.
### Config
#### Istio Config
```yaml
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
- [Chinese Docs](./docs/chinese.md)
## 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