|
| 1 | +--- |
| 2 | +layout: 'guide' |
| 3 | +menu: |
| 4 | + docs_menu: |
| 5 | + identifier: guide-ace-requirements |
| 6 | + name: ACE Requirements |
| 7 | + parent: guide-start |
| 8 | + weight: 14 |
| 9 | +menu_name: docs_menu |
| 10 | +section_menu: guides |
| 11 | +--- |
| 12 | + |
| 13 | +# Requirements to deploy ACE |
| 14 | +We will discuss the resources requirements. networking requirements & best practices for deploying your first ACE & DBaaS cluster. It is highly recommended to read the [architecture](https://appscode.com/docs/en/guides/get-started/architecture.html) doc first before continuing. |
| 15 | + |
| 16 | +## Requirements for ACE Cluster |
| 17 | + |
| 18 | +### 1. Resources |
| 19 | +**Minimum**: Single node with 4 cpu, 16 GB ram, 100 GB disk attached. A k3s cluster will be deployed on that VM. And then the ui-components will be installed. |
| 20 | + |
| 21 | +**HA Deployment**: 3 worker nodes, each with 4 cpu, 16 GB ram, PVC support (3000 iops, 200 GB disk across multiple pvcs) and LB service support. The Kubernetes control plane should be also HA. |
| 22 | + |
| 23 | +### 2. Networking |
| 24 | +If you want to run in an air-gapped environments (disconnected from internet), You will have to make sure that all images are cached locally. You can use Harbor or jfrog artifactory for this. |
| 25 | + |
| 26 | +We maintain a complete list of the [charts](https://github.com/appscode-cloud/installer/blob/master/catalog/copy-images.sh) & [images](https://github.com/appscode-cloud/installer/blob/master/catalog/ace.yaml). |
| 27 | + |
| 28 | +#### Connectivity |
| 29 | +These are the required connectivities to everything work correctly: |
| 30 | +- `DB pod to pod` communication using dns (k8s service discovery) |
| 31 | +- `operator to db-pods` for health checks |
| 32 | +- `db pods to kube-apiserver` for failover handling (update pod label when it becomes a primary replica) |
| 33 | +- `operator to kube-apiserver` for CRUD |
| 34 | +- `Backup pods to db pods` over network and on node level so they can access the shared disks. |
| 35 | +- `Backup pods to object storage` (s3 , minio etc.) |
| 36 | + |
| 37 | +#### Port Requirements |
| 38 | +1. 80 - Auto redirects to https |
| 39 | +2. 443 - Https Ingress port |
| 40 | +3. 4222 - NATS.io port |
| 41 | +4. 4224 - s3-proxy service port |
| 42 | + |
| 43 | +Here is a sample video on how you can setup ACE: |
| 44 | +<iframe width="560" height="315" src="https://www.youtube.com/embed/1diG8qq73f4?si=pisqA3gOrfO1wxlx" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> |
| 45 | + |
| 46 | +## Requirements for DBaaS Cluster |
| 47 | +### 1. Resources |
| 48 | +Depends on how many and what size of databases users are running. |
| 49 | + |
| 50 | +Minimum: Kubernetes cluster with 3 worker nodes, each with 8- 16GB ram, PVC support (3000 iops, 200 GB disk across multiple pvcs) and LB service support. |
| 51 | + |
| 52 | +Note that, The largest node must be able to fit the largest DB Pod(in terms of CPU, memory). |
| 53 | + |
| 54 | +### 2. Networking |
| 55 | +Literally all the Networking requirements described for ACE are also applicable here, except the `Port Requiements` part. |
| 56 | +Only one additional requirement here is that the DBaaS cluster should be accessible from the management/ACE cluster. |
| 57 | + |
| 58 | +You now have an overall idea on the requirements. So, [Login](https://appscode.com/docs/en/guides/get-started/register-login.html) into your account & get going with our [installer](https://appscode.com/selfhost/). Happy ACE! |
0 commit comments