What are the hardware and hosting environment requirements for running Sitecore 10.2 in a Kubernetes setup on a virtual machine.
3 Answers
Sitecore 10.2 supports containerization through Docker and orchestration through Kubernetes, which makes it well-suited for a microservices-based architecture. Here's an overview of the requirements:
1. Hardware Requirements
Control Plane Nodes (Kubernetes Master Nodes)
These manage the Kubernetes cluster (API server, scheduler, etc.).
- CPU: Minimum of 2 vCPUs
- Memory: 4 GB RAM or more (8 GB is recommended for production)
- Storage: 50 GB SSD or NVMe disk
Worker Nodes (Kubernetes Nodes)
These run the Sitecore services, such as Content Management (CM), Content Delivery (CD), Identity Server, SQL, Solr, etc.
- CPU: 4 vCPUs per node (8 vCPUs are recommended for production)
- Memory: Minimum of 16 GB RAM per node (32 GB for production)
- Storage: 100 GB SSD/NVMe for OS and Kubernetes overhead
Additional storage based on Sitecore roles (e.g., Sitecore services, Solr, SQL Server, etc.)
Note: Multiple worker nodes can be provisioned to handle scale, load balancing, and redundancy.
Database Servers (SQL and Redis)
- CPU: 4 vCPUs (or more for production)
- Memory: 16-32 GB RAM
- Storage: i) SQL Server: 100-500 GB SSD, based on Sitecore content and database sizes
ii) Redis: Managed service or similar in-memory store for session and cache management
2. Software and Hosting Environment Requirements
1. Virtual Machine Specifications
Operating System:
- Linux (Ubuntu 18.04+ or CentOS 7.6+ for Kubernetes nodes)
- Windows Server 2019+ (for .NET and Sitecore components if using Windows containers)
The choice of OS depends on whether you are using Windows-based or Linux-based containers.
Virtualization Support:
- A virtualization platform like VMware, Hyper-V, or any cloud-based infrastructure (AWS, Azure, Google Cloud) to host the virtual machines.
2. Kubernetes Cluster Requirements Kubernetes Version: Sitecore 10.2 is compatible with Kubernetes 1.18 or later. It's best to use a fully supported version like 1.19 or higher.
Container Runtime: Docker (or any compatible container runtime supported by Kubernetes like contained).
Ingress Controller: NGINX or similar to handle routing to Sitecore services.
Persistent Storage: Use a cloud-based or on-prem storage provider for persistent volume claims (PVCs) like Azure Disk, AWS EBS, or an NFS share.
Ensure PVCs are configured for databases, Solr, and other services requiring persistent storage.
3. Sitecore-Specific Containers
Sitecore containers will need to be deployed, including:
- Sitecore Identity Server
- Content Management (CM)
- Content Delivery (CD)
- Sitecore xConnect
- Sitecore Solr
- Sitecore SQL Server (can be external or containerized)
4. Kubernetes Monitoring and Logging
Monitoring Tools: Prometheus and Grafana for Kubernetes cluster health monitoring.
Logging Tools: ELK Stack (Elasticsearch, Logstash, and Kibana) or other logging solutions to track Sitecore and Kubernetes logs.
Below are the specifications for the client system required to install Sitecore 10.2 in a Kubernetes setup.
Operating system
should be any one of the below.
Windows 10 1809 or later
Windows Server 1809 or later
Kubernetes version should be
1.24.x or later
.Hardware requirements
are as below.
• RAM
16 GB RAM per Kubernetes cluster during startup.
• CPU
Quad core or higher per Kubernetes node during startup.
• Disk
Premium SSD disks for optimal performance when downloading and running
Docker containers.
VM Size
requirements are as below.
• For non-production environments and testing, the recommended minimum VM size for
Windows and Linux nodes is Standard_D4s_v3.
• For production environments, the VM size and number of nodes depend on your individual
requirements.
You can find all the details here.
Hope this helps!!!
Before you can deploy Sitecore containers on Azure Kubernetes Service (AKS), your setup must meet certain requirements.
Sitecore Container Deployment Package: This package includes the Kubernetes files you need to deploy a Sitecore solution on a cluster.
Client Software Requirements: To install Sitecore Experience Platform (XP) on Kubernetes, you need:
One of these operating systems:
- Windows 10 (version 1809 or later)
- Windows Server (version 1809 or later)
Kubernetes 1.24.x or later. Make sure to use the latest stable version (not a preview).
Azure CLI 2.8.0 or later to deploy Sitecore files on AKS
You also need to download the Sitecore SXP 10.2.X Container Deployment Package
Kubernetes Cluster Software Requirements:
- Kubernetes 1.24.x or later.
- Windows Server 2019 (version 1809 or later)
Kubernetes Cluster Hardware Requirements: For Windows Server clusters, you need:
- RAM: At least 16 GB per cluster during startup. This might change depending on your Azure usage.
- CPU: At least a quad-core processor per node.
- Disk: Premium SSD disks are recommended for better performance.
Required External Data Services: For production environments, external data services should be hosted outside the Sitecore XP cluster. For development and testing, sample services are provided but only for non-production use. The required services include:
- Microsoft SQL Server:
- SQL Server 2017 or 2019
- SQL Azure Elastic Database Pool
- Apache Solr (version 8.8.2 in SolrCloud mode)
- Redis (version 4.0 or higher)
Hope this gives you all the details. You can also refer to Sitecore document for more details.