Skip to content

Commit c279c2e

Browse files
committed
docs: update deployment k8s
Signed-off-by: Florian Amsallem <[email protected]>
1 parent e89b0c6 commit c279c2e

File tree

2 files changed

+65
-54
lines changed

2 files changed

+65
-54
lines changed

content/docs/guides/deploy/kubernetes/_index.en.md

+33-29
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,16 @@ Before proceeding with the deployment, ensure that you have the following instal
1414
- A PostgreSQL database with PostGIS
1515
- A Valkey server (used for caching)
1616

17-
## The tileserver
17+
## Stateful editoast
1818

19-
Tileserver is the component responsible for generating vector map tiles. It is recommended to separate it from standard Editoast while running a production setup since Editoast cannot be scaled horizontally (it is stateful).
19+
Editoast is a service that is **almost** capable of horizontal scaling (stateless). However, part of the application requires consistent RAM storage and therefore doesn't support scaling. This small part is called **stateful editoast**.
2020

21-
You can visualize the recommended deployment here:
21+
The Helm Chart deploys two OSRD services:
22+
23+
- The first one `editoast` (stateless) which uses a [Horizontal Pod Autoscaler (hpa)](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/).
24+
- The second one `stateful-editoast` which has a single replica to ensure data consistency in RAM.
25+
26+
You can view the recommended deployment here:
2227

2328
```mermaid
2429
flowchart TD
@@ -27,42 +32,42 @@ flowchart TD
2732
gw -- local file --> front
2833
2934
browser --> gw
30-
gw -- HTTP --> editoast
31-
gw -- HTTP --> tileserver-1
32-
gw -- HTTP --> tileserver-2
33-
gw -- HTTP --> tileserver-n...
34-
editoast -- HTTP --> core
35+
gw -- HTTP --> stateful-editoast
36+
gw -- HTTP --> editoast-1
37+
gw -- HTTP --> editoast-2
38+
gw -- HTTP --> editoast-N
39+
stateful-editoast -- AMQP --> RabbitMQ
40+
editoast-1 -- AMQP --> RabbitMQ
41+
editoast-2 -- AMQP --> RabbitMQ
42+
editoast-N -- AMQP --> RabbitMQ
43+
RabbitMQ -- AMQP --> Core-X
44+
Osrdyne -- HTTP/AMQP --> RabbitMQ
45+
Osrdyne -- Control --> Core-X
3546
```
3647

37-
The Helm chart leverages Kubernete's [HorizontalPodAutoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) in order to spawn as much tileserver as required for the current workload.
38-
3948
## Chart Values Overview
4049

4150
The Helm Chart is configurable through the following values:
4251

43-
### Core Service
52+
### Editoast
4453

45-
- `core`: Configuration for the core OSRD service.
46-
- `internalUrl`: Internal URL for service communication.
47-
- `image`: Docker image to use.
48-
- `pullPolicy`: Image pull policy.
49-
- `replicaCount`: Number of replicas.
50-
- `service`: Service type and port configuration.
51-
- `resources`, `env`, `annotations`, `labels`, `nodeSelector`, `tolerations`, `affinity`: Various Kubernetes deployment options.
54+
- `editoast`: Configuration for the Editoast service.
55+
- `init`: Initialization configuration.
56+
- `replicaCount`: Number of replicas, enabling horizontal scaling.
57+
- `hpa`: Horizontal Pod Autoscaler configuration.
58+
- Other standard Kubernetes deployment options.
5259

53-
### Editoast Service
60+
### Stateful Editoast
5461

55-
- `editoast`: Configuration for the Editoast service.
56-
- Includes similar options as `core` for Kubernetes deployment.
57-
- `init`: Initialization configuration.
62+
- `stateful-editoast`: Specialized Editoast service for `/infra/{infra_id}` requests
63+
- `image`: Docker image to use (usually the same as Editoast).
64+
- Other standard Kubernetes deployment options.
5865

59-
### Tile Server
66+
### Osrdyne
6067

61-
- `tileServer`: Specialized Editoast service that serves only vector map tiles.
62-
- `enabled`: Set to `true` to enable tile server functionality.
63-
- `image`: Docker image to use (typically the same as Editoast).
64-
- `replicaCount`: Number of replicas, allowing for horizontal scaling.
65-
- `hpa`: Horizontal Pod Autoscaler configuration.
68+
- `osrdyne`: Osrdyne service that controls the cores.
69+
- `image`: Docker image to use.
70+
- `amqp`: RabbitMQ connection
6671
- Other standard Kubernetes deployment options.
6772

6873
### Gateway
@@ -85,4 +90,3 @@ To deploy the OSRD services using this Helm Chart:
8590
```bash
8691
helm install osrd oci://ghcr.io/OpenRailAssociation/charts/osrd -f values.yml
8792
```
88-

content/docs/guides/deploy/kubernetes/_index.fr.md

+32-25
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,14 @@ Avant de procéder au déploiement, assurez-vous que vous avez installé :
1515
- Une base de données PostgreSQL avec PostGIS
1616
- Un serveur Valkey (utilisé pour le cache)
1717

18-
## Le serveur de tuiles
18+
## Stateful editoast
1919

20-
Le serveur de tuiles est le composant responsable de la génération des tuiles cartographiques vectorielles. Il est recommandé de le séparer du Editoast standard lors de l'exécution d'une configuration de production, car Editoast ne peut pas être mis à l'échelle horizontalement (il est stateful).
20+
Editoast est un service **quasiement** capable d'être mis à l'échelle horizontalement (stateless). Cependant, une partie de l'application nécessite un stockage en RAM cohérent et donc ne supporte pas la mise à l'échelle. Cette petite partie est appelé **editoast stateful**.
21+
22+
Le Helm Chart déploie deux service OSRD:
23+
24+
- Le premier `editoast` (stateless) qui utilise un [Horizontal Pod Autoscaler (hpa)](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/).
25+
- Le deuxieme `stateful-editoast` qui à une seule réplique pour assurer la cohérence des données en RAM.
2126

2227
Vous pouvez visualiser le déploiement recommandé ici :
2328

@@ -28,42 +33,44 @@ flowchart TD
2833
gw -- fichier local --> front
2934
3035
navigateur --> gw
31-
gw -- HTTP --> editoast
32-
gw -- HTTP --> tileserver-1
33-
gw -- HTTP --> tileserver-2
34-
gw -- HTTP --> tileserver-n...
35-
editoast -- HTTP --> core
36+
gw -- HTTP --> stateful-editoast
37+
gw -- HTTP --> editoast-1
38+
gw -- HTTP --> editoast-2
39+
gw -- HTTP --> editoast-N
40+
stateful-editoast -- AMQP --> RabbitMQ
41+
editoast-1 -- AMQP --> RabbitMQ
42+
editoast-2 -- AMQP --> RabbitMQ
43+
editoast-N -- AMQP --> RabbitMQ
44+
RabbitMQ -- AMQP --> Core-X
45+
Osrdyne -- HTTP/AMQP --> RabbitMQ
46+
Osrdyne -- Control --> Core-X
3647
```
3748

38-
Le Helm Chart utilise le[HorizontalPodAutoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) de Kubernetes pour lancer autant de serveurs de tuiles que nécessaire en fonction de la charge de travail.
39-
4049
## Configuration de la Helm Chart (values)
4150

4251
Le Helm Chart est configurable à travers les valeurs suivantes :
4352

44-
### Service Core
45-
46-
- `core` : Configuration pour le service central OSRD.
47-
- `internalUrl` : URL interne pour la communication entre services.
48-
- `image` : Image Docker à utiliser.
49-
- `pullPolicy` : Politique de récupération de l'image.
50-
- `replicaCount` : Nombre de réplicas.
51-
- `service` : Type de service et configuration des ports.
52-
- `resources`, `env`, `annotations`, `labels`, `nodeSelector`, `tolerations`, `affinity` : Diverses options de déploiement Kubernetes.
5353

54-
### Service Editoast
54+
### Editoast
5555

5656
- `editoast` : Configuration pour le service Editoast.
57-
- Comprend des options similaires à `core` pour le déploiement Kubernetes.
5857
- `init` : Configuration d'initialisation.
58+
- `replicaCount` : Nombre de réplicas, permettant la mise à l'échelle horizontale.
59+
- `hpa` : Configuration de l'Horizontal Pod Autoscaler.
60+
- Autres options standard de déploiement Kubernetes.
5961

60-
### Serveur de tuiles
62+
### Stateful Editoast
6163

62-
- `tileServer` : Service Editoast spécialisé qui sert uniquement des tuiles cartographiques vectorielles.
63-
- `enabled` : Définir sur `true` pour activer la fonctionnalité de serveur de tuiles.
64+
- `stateful-editoast` : Service Editoast spécialisé dans les requêtes `/infra/{infra_id}`
6465
- `image` : Image Docker à utiliser (généralement la même que Editoast).
65-
- `replicaCount` : Nombre de réplicas, permettant la mise à l'échelle horizontale.
66-
- `hpa` : Configuration de l'Horizontal Pod Autoscaler.
66+
- Autres options standard de déploiement Kubernetes.
67+
68+
69+
### Osrdyne
70+
71+
- `osrdyne` : Service osrdyne qui permet de controller les cores.
72+
- `image` : Image Docker à utiliser.
73+
- `amqp` : Connection au rabbitMQ
6774
- Autres options standard de déploiement Kubernetes.
6875

6976
### Gateway

0 commit comments

Comments
 (0)