Skip to content

Commit b468ad9

Browse files
committed
docs: audit popular pages
Signed-off-by: Amarachi Iheanacho <amarachi.iheanacho@siderolabs.com>
1 parent f26e0e4 commit b468ad9

19 files changed

Lines changed: 778 additions & 758 deletions

File tree

public/kubernetes-guides/cni/deploying-cilium.mdx

Lines changed: 243 additions & 126 deletions
Large diffs are not rendered by default.

public/kubernetes-guides/csi/storage.mdx

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,26 @@ It is easy and automatic.
1818

1919
## Storage clusters
2020

21-
> **Sidero Labs** recommends having separate disks (separate from the Talos install disk) dedicated for storage.
21+
Sidero Labs recommends having separate disks (separate from the Talos install disk) dedicated for storage.
2222

2323
Redundancy, scaling capabilities, reliability, speed, maintenance load, and ease of use are all factors you must consider when managing your own storage.
2424

2525
Running a storage cluster can be a very good choice when managing your own storage.
2626
The following projects are known to work with Talos Linux and provide good options, depending on your situation.
2727

28-
**Mayastor**: Ultra-low latency and high-performance workloads.
28+
- **Mayastor**: Ultra-low latency and high-performance workloads.
2929

30-
**Longhorn**: Simple, reliable, easy-to-use Kubernetes storage with easy replication and snapshots.
30+
- **Longhorn**: Simple, reliable, easy-to-use Kubernetes storage with easy replication and snapshots.
3131

32-
**Rook/Ceph**: Enterprise-scale, distributed, multi-tenant storage (block, file, and object storage)
32+
- **Rook/Ceph**: Enterprise-scale, distributed, multi-tenant storage (block, file, and object storage)
3333

3434
Also, if you need _both_ mount-once _and_ mount-many capabilities, Ceph is your answer.
3535

36-
> Please note that _most_ people should not use mount-many semantics.
37-
> NFS is pervasive because it is old and easy, _not_ because it is a good idea.
38-
> There are all manner of locking, performance, change control, and reliability concerns inherent in _any_ mount-many situation, so we **strongly** recommend you avoid this method.
36+
<Note>
37+
Please note that _most_ people should not use mount-many semantics.
38+
NFS is pervasive because it is old and easy, _not_ because it is a good idea.
39+
There are all manner of locking, performance, change control, and reliability concerns inherent in _any_ mount-many situation, so we **strongly** recommend you avoid this method.
40+
</Note>
3941

4042
### Longhorn
4143

@@ -96,29 +98,32 @@ Follow the Post-Installation from official [documentation](https://openebs.io/do
9698
9799
### Piraeus / LINSTOR
98100
99-
* [Piraeus-Operator](https://piraeus.io/)
100-
* [LINSTOR](https://linbit.com/drbd/)
101-
* [DRBD Extension](https://github.com/siderolabs/extensions#storage)
101+
[Piraeus](https://piraeus.io/) is a Kubernetes storage solution built on top of [LINSTOR](https://linbit.com/drbd/) and DRBD. It provides replicated block storage with low overhead and is a solid choice for clusters where performance and reliability matter. To use it with Talos, you will also need the [DRBD extension](https://github.com/siderolabs/extensions#storage).
102102
103103
#### Install Piraeus Operator V2
104104
105-
There is already a how-to for Talos: [Link](https://piraeus.io/docs/stable/how-to/talos/)
105+
Piraeus maintains a dedicated how-to guide for Talos that covers the full installation process, including the necessary Talos-specific configuration. Follow it [here](https://piraeus.io/docs/stable/how-to/talos/) before proceeding.
106106
107-
#### Create first storage pool and PVC
107+
#### Create a storage pool and PVC
108108
109-
Before proceeding, install linstor plugin for kubectl:
110-
https://github.com/piraeusdatastore/kubectl-linstor
109+
Once the operator is installed, you will need the `linstor` plugin for `kubectl` to manage storage resources. Install it directly from the [kubectl-linstor repository](https://github.com/piraeusdatastore/kubectl-linstor), or via [krew](https://krew.sigs.k8s.io/):
111110

112-
Or use [krew](https://krew.sigs.k8s.io/): `kubectl krew install linstor`
111+
```sh
112+
kubectl krew install linstor
113+
```
114+
115+
With the plugin in place, create a device pool on a blank disk (one with no existing partition table) on your target node:
113116

114117
```sh
115-
# Create device pool on a blank (no partition table!) disk on node01
116-
kubectl linstor physical-storage create-device-pool --pool-name nvme_lvm_pool LVM node01 /dev/nvme0n1 --storage-pool nvme_pool
118+
kubectl linstor physical-storage create-device-pool \
119+
--pool-name nvme_lvm_pool LVM node01 /dev/nvme0n1 \
120+
--storage-pool nvme_pool
117121
```
118122

119-
piraeus-sc.yml
123+
Next, define a StorageClass that uses the pool you just created. Save the following as `piraeus-sc.yml`:
120124

121125
```yaml
126+
cat <<EOF > piraeus-sc.yml
122127
apiVersion: storage.k8s.io/v1
123128
kind: StorageClass
124129
metadata:
@@ -129,10 +134,12 @@ parameters:
129134
linstor.csi.linbit.com/storagePool: nvme_pool
130135
provisioner: linstor.csi.linbit.com
131136
volumeBindingMode: WaitForFirstConsumer
137+
EOF
132138
```
133139

140+
Then apply it:
141+
134142
```sh
135-
# Create storage class
136143
kubectl apply -f piraeus-sc.yml
137144
```
138145

public/talos/v1.12/configure-your-talos-cluster/lifecycle-management/upgrading-talos.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ as:
6363

6464
<CodeBlock lang="sh">
6565
{`
66-
$ talosctl upgrade --nodes 10.20.30.40 \\
66+
talosctl upgrade --nodes 10.20.30.40 \\
6767
--image ghcr.io/siderolabs/installer:${release_v1_12}
6868
`}
6969
</CodeBlock>

public/talos/v1.12/getting-started/quickstart.mdx

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
22
title: Quickstart
3-
weight: 20
43
description: "A short guide on setting up a simple Talos Linux cluster locally with Docker."
54
---
65

@@ -10,7 +9,7 @@ import { VersionWarningBanner } from "/snippets/version-warning-banner.jsx"
109

1110
import { release_v1_12, k8s_release } from '/snippets/custom-variables.mdx';
1211

13-
The easiest way to run Talos is by using the CLI (`talosctl`) to create a cluster on a machine with `docker` installed.
12+
This guide walks you through spinning up a local Talos Linux cluster using Docker and `talosctl` in a few minutes.
1413

1514
<iframe width="560"
1615
height="315"
@@ -20,58 +19,54 @@ The easiest way to run Talos is by using the CLI (`talosctl`) to create a cluste
2019
encrypted-media; gyroscope;
2120
picture-in-picture;
2221
web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen
23-
>
24-
</iframe>
22+
> </iframe>
2523

26-
### Prerequisites
24+
## Prerequisites
2725

28-
#### `talosctl`
26+
Before you begin, make sure you have the following tools installed:
2927

30-
Download `talosctl` (macOS or Linux):
28+
- `talosctl`: On macOS or Linux, install `talosctl` by running the command below. For other systems, see the [talosctl documentation](./talosctl):
3129

32-
```bash
33-
brew install siderolabs/tap/talosctl
34-
```
30+
```bash
31+
brew install siderolabs/tap/talosctl
32+
```
3533

36-
#### `kubectl`
34+
- `kubectl`: Refer to the [Install kubectl documentation](https://kubernetes.io/docs/tasks/tools/install-kubectl/) for installation instructions.
3735

38-
Download `kubectl` via one of the methods outlined in the [documentation](https://kubernetes.io/docs/tasks/tools/install-kubectl/).
36+
## Create the cluster
3937

40-
### Create the cluster
38+
With your prerequisites in place, run the following command to create a cluster on Docker:
4139

42-
Now run the following:
43-
44-
```bash
40+
````bash
4541
talosctl cluster create docker
46-
```
42+
````
4743

4844
<Note>
49-
If you are using Docker Desktop on a macOS computer, if you encounter the error: *Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?* you may need to manually create the link for the Docker socket:
50-
```sudo ln -s "$HOME/.docker/run/docker.sock" /var/run/docker.sock```
51-
45+
If you are using Docker Desktop on macOS and encounter the error: *Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?*, you may need to manually create the Docker socket symlink:
46+
````sudo ln -s "$HOME/.docker/run/docker.sock" /var/run/docker.sock```
5247
</Note>
5348

54-
You can explore using Talos API commands:
49+
Once the cluster is up, verify that you can reach Kubernetes by running:
5550

5651
```bash
57-
talosctl dashboard --nodes 10.5.0.2
52+
kubectl get nodes -o wide
5853
```
5954

60-
Verify that you can reach Kubernetes:
55+
You should see output similar to the following:
6156

6257
<CodeBlock lang="sh">
63-
{`
64-
kubectl get nodes -o wide
65-
66-
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
67-
talos-default-controlplane-1 Ready master 115s v${k8s_release} 10.5.0.2 <none> Talos ${release_v1_12} <host kernel> containerd://1.5.5
68-
talos-default-worker-1 Ready <none> 115s v${k8s_release} 10.5.0.3 <none> Talos ${release_v1_12} <host kernel> containerd://1.5.5
69-
`}
58+
{` NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME\ntalos-default-controlplane-1 Ready master 115s v${k8s_release} 10.5.0.2 <none> Talos ${release_v1_12} <host kernel> containerd://2.1.5\ntalos-default-worker-1 Ready <none> 115s v${k8s_release} 10.5.0.3 <none> Talos ${release_v1_12} <host kernel> containerd://2.1.5 `}
7059
</CodeBlock>
7160

72-
### Destroy the cluster
61+
From here, you can explore the Talos API using `talosctl`:
62+
63+
```bash
64+
talosctl --help
65+
```
66+
67+
## Destroy the cluster
7368

74-
When you are all done, remove the cluster:
69+
When you are done, run the following command to tear down the cluster and clean up all associated resources:
7570

7671
```bash
7772
talosctl cluster destroy

public/talos/v1.12/getting-started/system-requirements.mdx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,12 @@ import { VersionWarningBanner } from "/snippets/version-warning-banner.jsx"
88

99
<VersionWarningBanner />
1010

11+
This page outlines the system requirements for running Talos Linux. Requirements are listed for both control plane and worker nodes, and are broadly similar to those of Kubernetes.
12+
1113
## Minimum requirements
1214

15+
The following are the minimum system requirements for running Talos Linux on control plane and worker nodes:
16+
1317
<table>
1418
<thead>
1519
<tr>
@@ -35,7 +39,9 @@ import { VersionWarningBanner } from "/snippets/version-warning-banner.jsx"
3539
</tbody>
3640
</table>
3741

38-
## Recommended
42+
## Recommended requirements
43+
44+
For production or heavier workloads, the following specifications are recommended:
3945

4046
<table>
4147
<thead>
@@ -62,12 +68,10 @@ import { VersionWarningBanner } from "/snippets/version-warning-banner.jsx"
6268
</tbody>
6369
</table>
6470

65-
These requirements are similar to that of Kubernetes.
66-
67-
## Storage
71+
## Storage requirement
6872

69-
Talos Linux itself only requires less than 100 MB of disk space, but the EPHEMERAL partition is used to store pulled images, container work directories, and so on. Thus a minimum of 10 GiB of disk space is required. 100 GiB is recommended.
73+
While Talos Linux itself requires less than 100 MB of disk space, the EPHEMERAL partition is used to store pulled images, container working directories, and other runtime data — so a minimum of 10 GiB of total disk space is required, with 100 GiB recommended.
7074

71-
Talos manages disk partitioning automatically during installation, creating EFI, META, STATE, and EPHEMERAL partitions. The EPHEMERAL partition then expands to fill all the space left after the first three. That space can either remain entirely with EPHEMERAL or be divided into additional user volumes, depending on your needs. See [Disk Layout](../configure-your-talos-cluster/storage-and-disk-management/disk-management#disk-layout) for details.
75+
During installation, Talos automatically manages disk partitioning, creating EFI, META, STATE, and EPHEMERAL partitions. The EPHEMERAL partition expands to fill all remaining space after the first three partitions. That space can either remain entirely with EPHEMERAL or be divided into additional user volumes, depending on your needs. See [Disk Layout](../configure-your-talos-cluster/storage-and-disk-management/disk-management#disk-layout) for details.
7276

73-
For production, it is often more efficient to dedicate a smaller disk for the Talos installation itself, and use additional disks for workload storage. Using a large, single disk for both system and workloads is supported, but may not be optimal depending on your environment.
77+
For production environments, it is often more efficient to dedicate a smaller disk to the Talos installation and use separate disks for workload storage. Using a single large disk for both system and workloads is supported, but may not be optimal depending on your setup.

public/talos/v1.12/getting-started/talosctl.mdx

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,34 @@ import { VersionWarningBanner } from "/snippets/version-warning-banner.jsx"
77

88
<VersionWarningBanner />
99

10-
## Recommended
10+
Use `talosctl` to interact with the Talos API, manage nodes, and configure your Talos machines. Follow the instructions below to install it on your operating system.
1111

12-
The client can be installed and updated via the [Homebrew package manager](https://brew.sh/) for macOS and Linux.
13-
You will need to install `brew` and then you can install `talosctl` from the Sidero Labs tap.
12+
## Linux and macOS
13+
14+
The recommended way to install `talosctl` on Linux and macOS is via the [Homebrew package manager](https://brew.sh/). This method automatically keeps `talosctl` up to date as new versions are released, without any manual intervention.
1415

1516
```bash
1617
brew install siderolabs/tap/talosctl
1718
```
1819

19-
This will also keep your version of `talosctl` up to date with new releases.
20-
This homebrew tap also has formulae for `omnictl` if you need to install that package.
20+
The same Homebrew tap also includes a formula for `omnictl`.
2121

22-
> Note: Your `talosctl` version should match the version of Talos Linux you are running on a host.
23-
> To install a specific version of `talosctl` with `brew` you can follow [this github issue](https://github.com/siderolabs/homebrew-tap/issues/75).
22+
<Note>Your `talosctl` version should match the version of Talos Linux running on your host. To install a specific version of `talosctl` with Homebrew, refer to [this GitHub issue](https://github.com/siderolabs/homebrew-tap/issues/75) for guidance.</Note>
2423

2524
## Alternative install
2625

27-
You can automatically install the correct version of `talosctl` for your operating system and architecture with an installer script.
28-
This script won't keep your version updated with releases and you will need to re-run the script to download a new version.
26+
If Homebrew is not available in your environment, you can use the installer script to automatically download the correct version of `talosctl` for your operating system and architecture:
2927

3028
```bash
3129
curl -sL https://talos.dev/install | sh
3230
```
3331

34-
This script will work on macOS, Linux, and WSL on Windows.
35-
It supports amd64 and arm64 architecture.
32+
This script supports macOS, Linux, and WSL on Windows, and works on both amd64 and arm64 architectures.
3633

37-
## Manual and Windows install
34+
Note that this method does not update automatically, you will need to re-run the script to install a newer version.
3835

39-
All versions can be manually downloaded from the [talos releases page](https://github.com/siderolabs/talos/releases/) including Linux, macOS, and Windows.
36+
## Windows
4037

41-
You will need to add the binary to a folder part of your executable `$PATH` to use it without providing the full path to the executable.
38+
For Windows, all `talosctl` releases can be downloaded manually from the [Talos releases page](https://github.com/siderolabs/talos/releases/), which includes binaries for Linux, macOS, and Windows.
4239

43-
Updating the binary will be a manual process.
40+
Once downloaded, add the binary to a folder on your `$PATH` so you can run it without specifying the full path to the executable. As with the alternative install method, updating `talosctl` on Windows is a manual process.

public/talos/v1.12/platform-specific-installations/bare-metal-platforms/iso.mdx

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,17 @@ import { VersionWarningBanner } from "/snippets/version-warning-banner.jsx"
77

88
<VersionWarningBanner />
99

10-
Talos can be installed on bare-metal machine using an ISO image.
11-
ISO images for `amd64` and `arm64` architectures are available on the [Talos releases page](https://github.com/siderolabs/talos/releases/latest/).
10+
Talos can be installed on bare-metal machines using an ISO image. ISO images for `amd64` and `arm64` architectures are available on the [Talos releases page](https://github.com/siderolabs/talos/releases/latest/).
1211

13-
Talos doesn't install itself to disk when booted from an ISO until the machine configuration is applied.
12+
When booted from an ISO, Talos does not install itself to disk until a machine configuration is applied.
1413

15-
Please follow the [getting started guide](../../getting-started/getting-started) for the generic steps on how to install Talos.
14+
For steps on how to install Talos, follow the [getting started guide](../../getting-started/getting-started).
1615

17-
> Note: If there is already a Talos installation on the disk, the machine will boot into that installation when booting from a Talos ISO.
18-
> The boot order should prefer disk over ISO, or the ISO should be removed after the installation to make Talos boot from disk.
16+
<Note>If a Talos installation already exists on the disk, the machine will boot into that installation even when booting from a Talos ISO. The boot order should prefer disk over ISO, or the ISO should be removed after installation to ensure Talos boots from disk.</Note>
1917

20-
See [kernel parameters reference](../../reference/kernel) for the list of kernel parameters supported by Talos.
18+
See the [kernel parameters reference](../../reference/kernel) for a list of kernel parameters supported by Talos.
2119

22-
There are two flavors of ISO images available:
20+
Two flavors of ISO image are available:
2321

24-
* `metal-<arch>.iso` supports booting on BIOS and UEFI systems (for x86, UEFI only for arm64)
25-
* `metal-<arch>-secureboot.iso` supports booting on only UEFI systems in SecureBoot mode (via [Image Factory](../../learn-more/image-factory))
22+
* `metal-<arch>.iso` supports booting on BIOS and UEFI systems (UEFI only for arm64)
23+
* `metal-<arch>-secureboot.iso` supports booting on UEFI systems in SecureBoot mode only (via [Image Factory](../../learn-more/image-factory))

public/talos/v1.13/configure-your-talos-cluster/lifecycle-management/upgrading-talos.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ as:
9494

9595
<CodeBlock lang="sh">
9696
{`
97-
$ talosctl upgrade --nodes 10.20.30.40 \\
97+
talosctl upgrade --nodes 10.20.30.40 \\
9898
--image ghcr.io/siderolabs/installer:${release_v1_13}
9999
`}
100100
</CodeBlock>

0 commit comments

Comments
 (0)