33[ 简体中文] ( https://github.com/KusionStack/kusion/blob/main/README-zh.md )
44| [ English] ( https://github.com/KusionStack/kusion/blob/main/README.md )
55
6- # Kridge
6+ # Controller Mesh
77
8- Kridge is a solution that helps developers manage their controllers/operators better.
8+ KusionStack Controller Mesh is a solution that helps developers manage their controllers/operators better.
99
1010The design architecture of this project is based on [ openkruise/controllermesh] ( https://github.com/openkruise/controllermesh ) .
1111
@@ -16,7 +16,7 @@ The design architecture of this project is based on [openkruise/controllermesh](
16163 . ** Circuit breaker and rate limiter** : Not only Kubernetes operation requests, but also other external operation requests.
17174 . ** Multicluster routing and sharding** : This feature is supported by [ kusionstack/kaera(karbour)] ( )
1818
19- <p align =" center " ><img width =" 800 " src =" ./docs/img/img5 .png " /></p >
19+ <p align =" center " ><img width =" 800 " src =" ./docs/img/mesh-arch-2 .png " /></p >
2020
2121## Quick Start
2222Visit [ Quick Start] ( ) .
@@ -32,34 +32,34 @@ $ helm repo add kusionstack https://kusionstack.io/charts
3232$ helm repo update
3333
3434# Install the latest version.
35- $ helm install kridge kusionstack/kridge --version v0.1.0
35+ $ helm install ctrlmesh kusionstack/ctrlmesh --version v0.1.0
3636
3737# Uninstall
38- $ helm uninstall kridge
38+ $ helm uninstall ctrlmesh
3939```
4040** Proxy**
41411 . Apply your [ ShardingConfig] ( ) .
42- 2 . Add label ` kridge .kusionstack.io/enable-proxy=true` on pod template.
42+ 2 . Add label ` ctrlmesh .kusionstack.io/enable-proxy=true` on pod template.
4343
4444
4545## Principles
4646
47- Generally, a ` kridge -proxy` container will be injected into each operator Pod that has configured in Kridge .
47+ Generally, a ` ctrlmesh -proxy` container will be injected into each operator Pod that has configured in ShardingConfigs .
4848This proxy container will intercept and handle the connection by between API/Oth Server and controllers/webhooks in the Pod.
4949
50- <p align =" center " ><img width =" 550 " src =" ./docs/img/img3 .png " /></p >
50+ <p align =" center " ><img width =" 550 " src =" ./docs/img/fake-configmap .png " /></p >
5151
5252ApiServer proxy method:
5353- * iptables nat* :
5454- * fake kubeconfig* :
5555
56- The ` kridge -manager` dispatches rules to the proxies, so that they can route requests according to the rules.
56+ The ` ctrlmesh -manager` dispatches rules to the proxies, so that they can route requests according to the rules.
5757
5858
59- A core CRD in Kridge is ` ShardingConfig ` . It contains all rules for user's controller:
59+ A core CRD in ControllerMesh is ` ShardingConfig ` . It contains all rules for user's controller:
6060
6161``` yaml
62- apiVersion : kridge .kusionstack.io/v1alpha1
62+ apiVersion : ctrlmesh .kusionstack.io/v1alpha1
6363kind : ShardingConfig
6464metadata :
6565 name : sharding-demo
7979 - services
8080 selector :
8181 matchExpressions :
82- - key : kridge .kusionstack.io/namespace
82+ - key : ctrlmesh .kusionstack.io/namespace
8383 operator : In
8484 values :
8585 - ns-a
@@ -101,19 +101,19 @@ spec:
101101
102102When `manager` is first launched, shard labels will be added to all configured resources.
103103
104- - `kridge .kusionstack.io/sharding-hash` : the hash value calculated based on the namespace ranges from 0 to 31.
105- - `kridge .kusionstack.io/namespace` : the namespace referring to this resource.
106- - `kridge .kusionstack.io/control` : under kridge control.
104+ - `ctrlmesh .kusionstack.io/sharding-hash` : the hash value calculated based on the namespace ranges from 0 to 31.
105+ - `ctrlmesh .kusionstack.io/namespace` : the namespace referring to this resource.
106+ - `ctrlmesh .kusionstack.io/control` : under ctrlmesh-manager control.
107107
108108
109- In this repo, Kridge only support `ObjectSelector` type of flow control,
110- which means the `kridge -proxy `will proxy list&watch requests to the ApiServer,
109+ In this repo, we only support `ObjectSelector` type of flow control,
110+ which means the `ctrlmesh -proxy `will proxy http/s requests to the ApiServer,
111111and inject a `LabelSelector` into the request param for the requested resource type.
112112
113113
114114
115115
116116Router :
117117
118- <p align="center"><img width="500 " src="./docs/img/img1 .png"/></p>
118+ <p align="center"><img width="600 " src="./docs/img/mesh-proxy .png"/></p>
119119
0 commit comments