Skip to content

Commit 2a423d1

Browse files
committed
Update System Requirements
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
1 parent 6c44b93 commit 2a423d1

File tree

7 files changed

+126
-35
lines changed

7 files changed

+126
-35
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Override Docsy's max-width: 80% rule
2+
@media (min-width: 992px) {
3+
.td-content > ul {
4+
max-width: 100% !important;
5+
}
6+
7+
.td-content > .tab-content .tab-pane {
8+
max-width: 100% !important;
9+
}
10+
}
11+

assets/scss/_tabs_alerts.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@
77
background-color: #fff;
88

99
.tab-pane {
10+
// Remove border styles
11+
border-left: none !important;
12+
border-right: none !important;
13+
border-bottom: none !important;
14+
1015
p:first-child {
1116
margin-top: 0;
1217
}

assets/scss/main.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,4 @@ a {
148148
@import "adopters_wall";
149149
@import "announcement-banner";
150150
@import "tabs_alerts";
151+
@import "override-docsy-tabs";

content/en/docs/getting-started/requirements.md

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,28 @@ You will need the following tools installed on your workstation:
2121

2222
To run this tutorial, you will need the following setup:
2323

24-
**Cluster nodes:** three bare-metal servers or virtual machines in the following minimal configuration:
25-
26-
- CPU: 4 cores, `x86` architecture.
27-
- RAM: 16 GiB.
28-
- Storage: local SSDs recommended:
29-
- SSD1: 32GiB<br>Primary disk, used for Talos Linux, etcd storage, and downloaded images. Low latency is required.
30-
- SSD2: 100GiB<br>Secondary disk, used for user application data.
31-
- OS:
32-
- Any Linux distribution, for example, Ubuntu.<br>
33-
- There are [other installation methods]({{% ref "/docs/install/talos" %}}) which require either any Linux or no OS at all to start.
34-
- Networking:
35-
- Routable FQDN domain.<br>If you don't have one, you can use [nip.io](https://nip.io/) with dash notation
36-
- Located in the same L2 network segment.
24+
**Cluster nodes:** three bare-metal servers or virtual machines. Hardware requirements depend on your usage scenario:
25+
26+
{{< include "docs/install/_include/hardware-config-tabs.md" >}}
27+
28+
**Storage:**
29+
- **Primary Disk**: Used for Talos Linux, etcd storage, and downloaded images. Low latency is required.
30+
- **Secondary Disk**: Used for user application data (ZFS pool).
31+
32+
**OS:**
33+
- Any Linux distribution, for example, Ubuntu.<br>
34+
- There are [other installation methods]({{% ref "/docs/install/talos" %}}) which require either any Linux or no OS at all to start.
35+
36+
**Networking:**
37+
- Routable FQDN domain.<br>If you don't have one, you can use [nip.io](https://nip.io/) with dash notation
38+
- Located in the same L2 network segment.
3739
- Anti-spoofing disabled.<br>
3840
It is required for MetalLB, the load balancer used in Cozystack.
39-
- If using virtual machines, there are extra requirements:
40-
- CPU passthrough enabled and CPU model set to `host` in the hypervisor settings.
41-
- Nested virtualization enabled.<br>
42-
Required for virtual machines and tenant kubernetes clusters.
41+
42+
**Virtual machines:**
43+
- CPU passthrough enabled and CPU model set to `host` in the hypervisor settings.
44+
- Nested virtualization enabled.<br>
45+
Required for virtual machines and tenant kubernetes clusters.
4346
4447
For a more detailed explanation of hardware requirements for different setups, refer to the [Hardware Requirements]({{% ref "/docs/install/hardware-requirements" %}})
4548
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{{< tabs name="hardware_config" >}}
2+
{{% tab name="Minimal" %}}
3+
4+
Here are the baseline requirements for running a small installation.
5+
The minimum recommended configuration for each node is as follows:
6+
7+
| Component | Requirement |
8+
|------------------|--------------|
9+
| Hosts | 3x Physical hosts (or VMs with host CPU passthrough) |
10+
| Architecture | x86_64 |
11+
| CPU | 8 cores |
12+
| RAM | 32 GB |
13+
| Primary Disk | 50 GB SSD (or RAW for VMs) |
14+
| Secondary Disk | 256 GB SSD (raw) |
15+
16+
**Suitable for:**
17+
- Dev/Test environments
18+
- Small demonstration setups
19+
- 1-2 Tenants
20+
- Up to 3 Kubernetes clusters
21+
- Few VMs or Databases
22+
23+
{{% /tab %}}
24+
{{% tab name="Recommended" %}}
25+
26+
For small production environments, the recommended configuration for each node is as follows:
27+
28+
| Component | Requirement |
29+
|------------------|--------------|
30+
| Hosts | 3x Physical hosts |
31+
| Architecture | x86_64 |
32+
| CPU | 16-32 cores |
33+
| RAM | 64 GB |
34+
| Primary Disk | 100 GB SSD or NVMe |
35+
| Secondary Disk | 1-2 TB SSD or NVMe |
36+
37+
**Suitable for:**
38+
- Small to medium production environments
39+
- 5-10 Tenants
40+
- 5+ Kubernetes clusters
41+
- Dozens Virtual Machines or Databases
42+
- S3-compatible storage
43+
44+
{{% /tab %}}
45+
{{% tab name="Optimal" %}}
46+
47+
For medium to large production environments, the optimal configuration for each node is as follows:
48+
49+
| Component | Requirement |
50+
|------------------|--------------|
51+
| Hosts | 6x+ Physical hosts |
52+
| Architecture | x86_64 |
53+
| CPU | 32-64 cores |
54+
| RAM | 128-256 GB |
55+
| Primary Disk | 200 GB SSD or NVMe |
56+
| Secondary Disk | 4-10 TB NVMe |
57+
58+
**Suitable for:**
59+
- Large production environments
60+
- 20+ Tenants
61+
- Dozens Kubernetes clusters
62+
- Hundreds of Virtual Machines and Databases
63+
- S3-compatible storage
64+
65+
{{% /tab %}}
66+
{{< /tabs >}}
67+

content/en/docs/install/hardware-requirements.md

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,11 @@ in a fully containerized or virtualized environment.
1616
Hardware requirements depend on your usage scenario.
1717
Below are several common deployment options; review them to determine which setup fits your needs best.
1818

19-
## Small lab
20-
21-
Here are the baseline requirements for running a tiny installation.
22-
The minimum recommended configuration for each node is as follows:
23-
24-
| Component | Requirement |
25-
|------------------|--------------|
26-
| CPU | 4 cores |
27-
| CPU Type | host |
28-
| RAM | 16 GB |
29-
| Primary Disk | 32 GB SSD |
30-
| Secondary Disk | 100 GB (raw) |
31-
19+
{{< include "docs/install/_include/hardware-config-tabs.md" >}}
3220

3321
**Compute:**
3422

35-
- Three physical or virtual servers with amd64/x86_64 architecture, with at least 16 GB RAM and 4 CPU cores each.
23+
- Three or more physical or virtual servers with amd64/x86_64 architecture, with the specifications shown in the table above.
3624
- Virtualized servers need nested virtualization enabled and the CPU model set to `host` (without emulation).
3725
- PXE installation requires an extra management instance connected to the same network, with any Linux system able to run a Docker container.
3826
It should also have `x86-64-v2` architecture, which most probably may be achieved by setting CPU model to `host` in case of a VM.
@@ -50,13 +38,12 @@ Separating disks by role is the primary and more reliable option.
5038
- **Primary Disk**: This disk contains the Talos Linux operating system, essential system kernel modules and
5139
Cozystack system base pods, logs, and base container images. Also an etcd cluster will be running on top of it, so a low-latency volume should be used, preferably a local SSD.
5240

53-
Minimum: 32 GB; approximately 26 GB is used in a standard Cozystack setup.
54-
Talos installation expects `/dev/sda` as the system disk (virtio drives usually appear as `/dev/vda`).
41+
Minimum sizes vary by configuration (see table above). Talos installation expects `/dev/sda` as the system disk (virtio drives usually appear as `/dev/vda`).
5542

5643
- **Secondary Disk**: Dedicated to workload data and can be increased based on workload requirements.
5744
Used for provisioning volumes via PersistentVolumeClaims (PVCs).
5845

59-
Suggested: 100 GB. Disk path (usually `/dev/sdb`) will be defined in the storage configuration.
46+
Minimum sizes vary by configuration (see table above). Disk path (usually `/dev/sdb`) will be defined in the storage configuration.
6047
It does not affect the Talos installation.
6148

6249
Learn more about configuring Linstor StorageClass from the
@@ -73,7 +60,11 @@ Using a local SSD disk is recommended.
7360
- Machines must be allowed to use additional IPs, or an external load balancer must be available.
7461
Using additional IPs is disabled by default and must be enabled explicitly in most public clouds.
7562
- Additional public IPs for ingress and virtual machines may be needed. Check if your public cloud provider supports floating IPs.
76-
63+
- Routable FQDN domain (or use [nip.io](https://nip.io/) with dash notation)
64+
- Located in the same L2 network segment
65+
- Anti-spoofing disabled (required for MetalLB)
66+
- Minimum 1 Gbps (10 Gbps recommended for production)
67+
- Low latency between cluster nodes
7768

7869
## Production Cluster
7970

layouts/shortcodes/include.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{{- $path := .Get 0 -}}
2+
{{- $filePath := path.Join "content/en" $path -}}
3+
{{- if fileExists $filePath -}}
4+
{{- $content := readFile $filePath -}}
5+
{{- with $.Page -}}
6+
{{- $content | .RenderString -}}
7+
{{- else -}}
8+
{{- $content | markdownify -}}
9+
{{- end -}}
10+
{{- else -}}
11+
{{- errorf "Include file not found: %s" $filePath -}}
12+
{{- end -}}
13+

0 commit comments

Comments
 (0)