You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Spire will be deployed in "spire" namespace. Wait until the spire server and agent pods are running to continue deploying Meridio-Operator.
31
-
32
-
**Note**: certmanager can also be used for the same purpose. To switch from spire to certmanager, you need to comment out all the sections with "[SPIRE]" comment and uncomment all the sections with "[CERTMANAGER]" comment in *config* directory.
33
-
34
-
### Deploy Meridio-Operator
35
-
36
-
Meridio-Operator is a namespace-scoped operator, which watches and manages custom resources in a single namespace where the operator is deployed.
37
-
38
-
The following parameters can be set when you deploy Meridio-Operator:
39
-
* NAMESPACE: specify the namespace where the Meridio-Operator resources will be deployed, default is "meridio-operator-system".
40
-
* ENABLE_MUTATING_WEBHOOK: enable the mutating webhook to mutate the Cutstom Resources which will be created to configure Meridio-Operator, so that specific fields can be left out and use default values, default is true.
41
-
* IMG: specify the image that Meridio-Operator deployment will use, default is controller:0.0.1
42
-
43
-
```bash
44
-
make deploy
45
-
```
46
-
47
-
### Run tests
48
-
49
-
Running e2e tests requires the Meridio-Operator already deployed in the cluster.
50
-
51
-
The following parameters are expected to be the same as what are configured when Meridio-Operator is deployed:
52
-
* NAMESPACE: specify the namespace where the Meridio-Operator resources will be deployed, default is "meridio-operator-system".
53
-
* ENABLE_MUTATING_WEBHOOK: enable the mutating webhook to mutate the Cutstom Resources which will be created to configure Meridio-Operator, so that specific fields can be left out and use default values, default is true.
54
-
55
-
```bash
56
-
# Run e2e test in the namespace "red"
57
-
make e2e NAMESPACE="red"
58
-
```
59
-
60
3
## Configuration
61
4
62
5
**The Meridio-Operator is deployed in the "default" namespace in the examples below.**
63
6
64
7
### Trench
65
8
66
-
A [trench](https://github.com/Nordix/Meridio-Operator/blob/master/config/samples/meridio_v1alpha1_trench.yaml) spawns the IPAM, NSP pods, and needed role, role-binding and service accounts, and the ConfigMap storing configuration of the trench. The resources created by a trench will be suffixed with the trench's name.
9
+
A [trench](https://github.com/Nordix/Meridio/blob/master/config/samples/meridio_v1alpha1_trench.yaml) spawns the IPAM, NSP pods, and needed role, role-binding and service accounts, and the ConfigMap storing configuration of the trench. The resources created by a trench will be suffixed with the trench's name.
67
10
68
-
To see how to configure a trench, please refer to [trench spec](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#TrenchSpec).
11
+
To see how to configure a trench, please refer to [trench spec](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#TrenchSpec).
@@ -102,7 +45,7 @@ To be noted, meridio-operator currently have a limitation to have one attractor
102
45
103
46
An attractor is a resource needs to be created with label. `metadata.labels.trench` specifies the owner trench of the attractor.
104
47
105
-
To see how to configure and read the status of an attractor, please refer to [attractor spec](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#AttractorSpec) and [attractor status](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#AttractorStatus).
48
+
To see how to configure and read the status of an attractor, please refer to [attractor spec](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#AttractorSpec) and [attractor status](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#AttractorStatus).
A gateway is a resource to describe the gateway information for the Meridio Front-ends.It must be created with label `metadata.labels.trench` to specify its owner reference trench.
129
72
130
-
To see how to configure and read the status of a gateway, please refer to [gateway spec](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#GatewaySpec) and [gateway status](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#GatewayStatus).
73
+
To see how to configure and read the status of a gateway, please refer to [gateway spec](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#GatewaySpec) and [gateway status](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#GatewayStatus).
131
74
132
75
In the example below, two gateways will be created.
133
76
@@ -146,7 +89,7 @@ gateway2 1000::1 bgp trench-a
146
89
147
90
A Vip is a resource to reserving the destination addresses for the target applications.It must be created with label `metadata.labels.trench` to specify its owner reference trench.
148
91
149
-
To see how to configure and read the status of a Vip, please refer to [Vip spec](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#VipSpec) and [Vip status](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#VipStatus).
92
+
To see how to configure and read the status of a Vip, please refer to [Vip spec](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#VipSpec) and [Vip status](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#VipStatus).
150
93
151
94
In the example below, two Vips will be created.
152
95
@@ -166,7 +109,7 @@ vip2 10.0.0.1/32 trench-a
166
109
A Conduit is for configuring the load balancer type. It must be created with label `metadata.labels.trench` to specify its owner reference trench.
167
110
There is a limitation that a conduit must be created when one attractor is created in the same trench. Meridio only supports one conduit per trench now.
168
111
169
-
To see how to configure and read the status of a Conduit, please refer to [Conduit spec](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#ConduitSpec) and [Conduit status](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#ConduitStatus).
112
+
To see how to configure and read the status of a Conduit, please refer to [Conduit spec](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#ConduitSpec) and [Conduit status](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#ConduitStatus).
170
113
171
114
A Conduit can be created by following the example below.
A Stream is for grouping different flows, and it can choose how traffic is load balanced by registering for a specific conduit. It must be created with label `metadata.labels.trench` to specify its owner reference trench.
197
140
198
-
To see how to configure and read the status of a Stream, please refer to [Stream spec](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#StreamSpec) and [Stream status](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#StreamStatus).
141
+
To see how to configure and read the status of a Stream, please refer to [Stream spec](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#StreamSpec) and [Stream status](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#StreamStatus).
199
142
200
143
A Stream can be created by following the example below.
A Flow enables the traffic to a selection of pods by specifying the 5-tuples and the Stream the traffic go through. It must be created with label `metadata.labels.trench` to specify its owner reference trench.
215
158
216
-
To see how to configure and read the status of a Flow, please refer to [Flow spec](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#FlowSpec) and [Flow status](https://pkg.go.dev/github.com/nordix/meridio-operator/api/v1alpha1#FlowStatus).
159
+
To see how to configure and read the status of a Flow, please refer to [Flow spec](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#FlowSpec) and [Flow status](https://pkg.go.dev/github.com/nordix/meridio/api/v1alpha1#FlowStatus).
217
160
218
161
A Flow can be created by following the example below.
219
162
@@ -248,7 +191,7 @@ spec:
248
191
249
192
For each container making up a specific custom resource (e.g. Trench) the annotation value for key _resource-template_ is interpreted as the name of a resource requirements template. Such templates are defined per container, and are to be specified before building the Operator.
250
193
251
-
As an example some [templates](https://github.com/Nordix/Meridio-Operator/tree/master/config/manager/resource_requirements/) are included for each container out-of-the-box. But they are not verified to fit any production use cases, and can be overridden at will. (A template is basically a kubernetes [core v1 ResourceRequirements](https://pkg.go.dev/k8s.io/[email protected]/core/v1#ResourceRequirements) block with name.)
194
+
As an example some [templates](https://github.com/Nordix/Meridio/tree/master/config/manager/resource_requirements/) are included for each container out-of-the-box. But they are not verified to fit any production use cases, and can be overridden at will. (A template is basically a kubernetes [core v1 ResourceRequirements](https://pkg.go.dev/k8s.io/[email protected]/core/v1#ResourceRequirements) block with name.)
252
195
253
196
The Operator looks up the templates based on the annotation value for each container contributing to the particular custom resource. If a template is missing for a container, then deployment proceeds without setting resource requirements for the container at issue. Otherwise the related resources will be deployed by importing the respective resource requirements from the matching templates.
Copy file name to clipboardExpand all lines: readme.md
-7
Original file line number
Diff line number
Diff line change
@@ -48,13 +48,6 @@ As the current default network service, a **no-NAT stateless Load-Balancer** is
48
48
49
49
Meridio users have the flexibility to **adjust the network services on the fly** as they desire. Traffic `attractors`, `streams` gathering traffic into logical groups and traffic classifiers (`flows`) can be added, removed and updated without any redeployment of the resources, and with no traffic disturbance. Individually, each user pods have the ability to **select the traffic to consume at runtime** which will produce secondary network reorganization to cover the user pods needs and requests.
50
50
51
-
52
-
## Meridio Operator
53
-
54
-
An operator is available to provide a very easy and user friendly way to create, configure and manage the different concepts Meridio offers.
0 commit comments