|
1 | | -# !!! Work in progress |
| 1 | +# 🚧 Work in Progress |
2 | 2 |
|
3 | | -Not all features available in docker swarm solution are supported now. |
| 3 | +Please note that not all features from the Docker Swarm solution are supported yet. |
4 | 4 |
|
5 | | -Limitations: |
6 | | -- Only manual helm installation and upgrade |
7 | | -- Manual initial users configuration for minio, mongodb, elastic search |
8 | | -- No data reset feature |
| 5 | +### Limitations: |
| 6 | +- Manual Helm installation and upgrade only |
| 7 | +- Manual initial user configuration for MinIO, MongoDB, Elasticsearch |
| 8 | +- No data reset feature available |
9 | 9 |
|
10 | | -# General information |
| 10 | +--- |
11 | 11 |
|
12 | | -Repository to store infrastructure code for OpenCRVS deployment |
| 12 | +## General Information |
13 | 13 |
|
| 14 | +This repository is used to store infrastructure code for deploying OpenCRVS. |
| 15 | + |
| 16 | +--- |
14 | 17 |
|
15 | 18 | # OpenCRVS on Kubernetes |
16 | 19 |
|
17 | | -## Kubernetes cluster Prerequisites |
| 20 | +## Prerequisites for Kubernetes Cluster |
18 | 21 |
|
19 | 22 | ### Storage |
20 | 23 |
|
21 | | -Storage class with encryption or respective encryption is implemented at filesystem level: |
22 | | -- For existing OpenCRVS installations make sure cluster has at least `hostpath` storage class configured and directories on file system are pointed to encrypted partitions. `hostpath` is the best option for drop-in replacement docker swarm to kubernetes, data will not be touched in that case. Later data can be migrated to more robust storage, e/g `local` or `nfs` volumes. |
23 | | -- For new installations please check available options at official documentation [[1]](https://kubernetes.io/docs/concepts/storage/volumes/), [[2]](https://kubernetes.io/docs/concepts/storage/storage-classes/#provisioner). Recommended storage class for new installations is NFS. |
| 24 | +Ensure your cluster has a storage class with encryption, or encryption is implemented at the filesystem level: |
24 | 25 |
|
25 | | -Please also check all available options for CSI at: https://github.com/kubernetes-csi/ |
| 26 | +- **For existing OpenCRVS installations:** |
| 27 | + Make sure the cluster has at least the `hostpath` storage class configured and directories on the filesystem should point to encrypted partitions. |
| 28 | + `hostpath` is the best option for migration from Docker Swarm to Kubernetes; it allows data to remain untouched. Data can be migrated to more robust storage later, such as `local` or `nfs` volumes after OpenCRVS migration to Kubernetes. |
26 | 29 |
|
27 | | -**NOTE:** Depending on available hardware resources it is also possible to optimize installation by splitting data into different types of volumes, e/g `hostpath` works better for Elasticsearch, while `NFS` is best option for `minio` and `mongo` (`postgres`) |
| 30 | +- **For new installations:** |
| 31 | + - Please check the available storage options in the official documentation: [Kubernetes Volumes Documentation](https://kubernetes.io/docs/concepts/storage/volumes/) and [Kubernetes Storage Classes Documentation](https://kubernetes.io/docs/concepts/storage/storage-classes/#provisioner). |
| 32 | + - The recommended storage class for new installations is NFS. |
28 | 33 |
|
| 34 | +Additionally, explore all possible options for CSI (Container Storage Interface) at the [CSI GitHub repository](https://github.com/kubernetes-csi/). |
29 | 35 |
|
| 36 | +**NOTE:** Depending on your available hardware resources, you may optimize the installation by splitting data across different types of volumes. For example: |
| 37 | +- `Hostpath` works better for Elasticsearch. |
| 38 | +- `NFS` is the best option for MinIO and Mongo (or Postgres). |
30 | 39 |
|
31 | | -# Links |
| 40 | +--- |
32 | 41 |
|
33 | | -[1] https://kubernetes.io/docs/concepts/storage/volumes/ |
| 42 | +# Useful Links |
34 | 43 |
|
35 | | -[2] https://kubernetes.io/docs/concepts/storage/storage-classes/#provisioner |
| 44 | +- [Kubernetes Volumes Documentation](https://kubernetes.io/docs/concepts/storage/volumes/) |
| 45 | +- [Kubernetes Storage Classes Documentation](https://kubernetes.io/docs/concepts/storage/storage-classes/#provisioner) |
0 commit comments