-
-
Notifications
You must be signed in to change notification settings - Fork 1
Infrastructure
rgaudin edited this page Feb 7, 2022
·
2 revisions
This is an overview with high level information. Actual implementation may defer and Helm Charts or k8s manifests (in that order) should be trusted.
- All the infrastructure is hosted at Scaleway (split over Elements and Dedibox)
- A managed Kubernetes (Kosmos by Scaleway) in
PARAvailability Zone - with an nginx Ingress
- an [existing]
DEV-1-SElements Instance atPAR1for bastion. - a [new]
START-2-M-SSDDedibox for stats node onDCx. Could become anEM-A210R-SATAonce avail. - a [new]
PRO-5-SDedibox for services node onDCx. - a [new]
B311-X-SATAElastic Metal atPAR2for storage node. Will be moved toSTORE-2-MDedibox once avail.
- Managed by Scaleway
-
scw.k8s.kiwix.orgCNAME to{uuid}.nodes.k8s.fr-par.scw.cloud -
k8s.kiwix.orgCNAME toscw.k8s.kiwix.org
Using two CNAME would allow us to redirect k8s.kiwix.org to a different host in case we need to move all services at once.
- All user-facing services (except those mentioned below) uses a CNAME pointing to
k8s.kiwix.orgwhich serves as the HTTP Load Balancer.-
stats.kiwix.org->k8s.kiwix.org -
farm.openzim.org->k8s.kiwix.org -
api.cardshop.kiwix.org->k8s.kiwix.org - etc.
-
Note: Kosmos is a paid service.
- Single entry point for SSH access to our nodes: all nodes only accepts connections from its IP.
- Not part of the k8s cluster
bastion.kiwix.org
- Registered node on the Cluster
- Runs non-user-facing services which may be demanding:
- matomo for our stats
- metrics
- zimfarm watcher
-
stats.k8s.kiwix.orgCNAME to{stats-node-id}.nodes.k8s.fr-par.scw.cloud
-
Registered node on the Cluster
-
Runs all user-facing services that don't need access to ZIM files:
- Kiwix Wiki
- openZIM Wiki
- watcherbot
- Kiwix JS PWA
- CMS
- Cardshop
- Youzim.it
- Zimfarm
- Zimfarm drive
- Offspot drive
- Kiwix tmp
dev-library
-
Runs all services without a specific node affinity.
-
services.k8s.kiwix.orgCNAME to{svc-node-id}.nodes.k8s.fr-par.scw.cloud
- Registered node on the Cluster
- Runs all services requiring ZIM file access
- Kiwix download
- openZIM download
- Zimfarm receiver
- Library
dev-library- mirrorbrain
-
storage.k8s.kiwix.orgCNAME to{storage-node-id}.nodes.k8s.fr-par.scw.cloud