Skip to content

Commit

Permalink
Merge pull request #337 from entando/ENDOC-345-tweak
Browse files Browse the repository at this point in the history
Endoc 345 tweaked
  • Loading branch information
nshaw authored Nov 5, 2021
2 parents a51e45d + 11ba65f commit 3647b0a
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
4 changes: 4 additions & 0 deletions vuepress/docs/.vuepress/next.js
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,10 @@ module.exports = {
title: 'Installation on Tanzu Kubernetes Grid (TKG)',
path: path + 'devops/installation/tanzu/tanzu-install.md',
},
{
title: 'Installation on Kubernetes',
path: path + 'devops/installation/kubernetes/kubernetes-install.md',
},
]
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Installation on Kubernetes

## Infrastructure Requirements

These are the minimum infrastructure requirements to install Entando directly on a Kubernetes (K8s) cluster:

- A working DNS server configured to resolve internal and external names. If you choose to configure K8s with a global wildcard domain name for the entire cluster, be sure it points to the public IP address of the external Load Balancer of the worker nodes.
- A default [Storage Class](https://kubernetes.io/docs/concepts/storage/storage-classes/) is needed for the Entando Operator to create the correct Persistent Volume Claims (PVC) for each pod.
- Nginx [Ingress-Controller](https://kubernetes.github.io/ingress-nginx/deploy/) is needed to expose the Entando applications.

## Minimum Hardware Requirements

The minimum hardware requirements depend on how you intend to use Entando. The more functionality you need, such as a content management system (CMS), the more you will need.
### For Entando install only:

- 6 vCPU or virtual central processing unit (6000 millicores)
- 6 GB of RAM
- 5 GB of allocated storage distributed in many PVCs

Configure a single worker node with the requirements above or designate 3 worker nodes with the minimum of 2 PVC and 4 GB of RAM each.

### For Entando + Microservices:

- 500 millicores per microservice or
- 1000 millicores per microservice with a database

The tested instance was generated with a JHipster Entando blueprint.

### For Entando with CMS:

To install Entando with CMS, the hardware requirements depend on the complexity and number of pages and contents. The minimum requirements are:

- 9 vCPU for a single CMS instance. To scale up, you need 4 vCPU per replica.
- 8 GB of RAM for a single CMS instance. To scale up, you need 4 GB of RAM per replica.
- A minimum of 50 GB of storage for all the static resources generated by the use of Entando CMS.

## Backup Strategies

The recommended method to secure your content is to use database services that automate backups and restores on a Kubernetes cluster like Azure, Red Hat OpenShift, Google K8s Service, Tanzu K8s Grid or Amazon Elastic. If this is not an option, there are tools like [Velero](https://velero.io/) and [Cloudcase](https://cloudcasa.io/) to manage them.

Note: Some DevOps teams warn against running databases inside pods in production environments.

If using the Entando CMS, be sure to protect related schemas (`port` and `serv`) with a valid disaster recovery plan. Protect all volumes containing your static resources with daily snapshots.

## Notes
See the [Entando compatibility guide](https://www.entando.com/page/en/compatibility-guide) for compatible Kubernetes versions.

0 comments on commit 3647b0a

Please sign in to comment.