Skip to content

Commit 0b4a977

Browse files
committed
docs: update talosctl install instructions for 1.8
Pulled changes from 1.7 docs Signed-off-by: Justin Garrison <[email protected]>
1 parent da8305f commit 0b4a977

File tree

6 files changed

+107
-23
lines changed

6 files changed

+107
-23
lines changed

Diff for: website/content/v1.7/talos-guides/install/talosctl.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "talosctl"
3-
description: "Install talos cli client."
3+
description: "Install Talos Linux CLI"
44
---
55

66
## Recommended
@@ -32,7 +32,7 @@ It supports amd64 and arm64 architecture.
3232

3333
## Manual and Windows install
3434

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

3737
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.
3838

Diff for: website/content/v1.8/introduction/getting-started.md

+16-14
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This document will walk you through installing a simple Talos Cluster with a sin
88

99
> If this is your first use of Talos Linux, we recommend the [Quickstart]({{< relref "quickstart" >}}) first, to quickly create a local virtual cluster in containers on your workstation.
1010
>
11-
>For a production cluster, extra steps are needed - see [Production Notes]({{< relref "prodnotes" >}}).
11+
> For a production cluster, extra steps are needed - see [Production Notes]({{< relref "prodnotes" >}}).
1212
1313
Regardless of where you run Talos, the steps to create a Kubernetes cluster are:
1414

@@ -25,13 +25,15 @@ Regardless of where you run Talos, the steps to create a Kubernetes cluster are:
2525
`talosctl` is a CLI tool which interfaces with the Talos API.
2626
Talos Linux has no SSH access: `talosctl` is the tool you use to interact with the operating system on the machines.
2727

28-
Install `talosctl` before continuing:
28+
You can download `talosctl` an MacOS and Linux via:
2929

3030
```bash
31-
curl -sL https://talos.dev/install | sh
31+
brew install siderolabs/tap/talosctl
3232
```
3333

34-
> Note: If you boot systems off the ISO, Talos on the ISO image runs in RAM and acts as an installer.
34+
For manually installation and other platform please see the [talosctl installation guide]({{< relref "../talos-guides/install/talosctl.md" >}}).
35+
36+
> Note: If you boot systems off the ISO, Talos on the ISO image runs in RAM and acts as an installer.
3537
> The version of `talosctl` that is used to create the machine configurations controls the version of Talos Linux that is installed on the machines - NOT the image that the machines are initially booted off.
3638
> For example, booting a machine off the Talos 1.3.7 ISO, but creating the initial configuration with `talosctl` binary of version 1.4.1, will result in a machine running Talos Linux version 1.4.1.
3739
>
@@ -93,9 +95,9 @@ When Talos boots without a configuration, such as when booting off the Talos ISO
9395
enters maintenance mode and waits for a configuration to be provided.
9496

9597
> A configuration can be passed in on boot via kernel parameters or metadata servers.
96-
See [Production Notes]({{< relref "prodnotes#configure-talos" >}}).
98+
> See [Production Notes]({{< relref "prodnotes#configure-talos" >}}).
9799
98-
Unlike traditional Linux, Talos Linux is *not* configured by SSHing to the server and issuing commands.
100+
Unlike traditional Linux, Talos Linux is _not_ configured by SSHing to the server and issuing commands.
99101
Instead, the entire state of the machine is defined by a `machine config` file which is passed to the server.
100102
This allows machines to be managed in a declarative way, and lends itself to GitOps and modern operations paradigms.
101103
The state of a machine is completely defined by, and can be reproduced from, the machine configuration file.
@@ -178,12 +180,12 @@ install:
178180
179181
to reflect `vda` instead of `sda`.
180182

181-
> For information on customizing your machine configurations (such as to specify the version of Kubernetes), using [machine configuration patches]({{< relref "../talos-guides/configuration/patching" >}}), or customizing configurations for individual machines (such as setting static IP addresses), see the [Production Notes]({{< relref "prodnotes#customizing-machine-configuration" >}}).
183+
> For information on customizing your machine configurations (such as to specify the version of Kubernetes), using [machine configuration patches]({{< relref "../talos-guides/configuration/patching" >}}), or customizing configurations for individual machines (such as setting static IP addresses), see the [Production Notes]({{< relref "prodnotes#customizing-machine-configuration" >}}).
182184

183185
## Understand talosctl, endpoints and nodes
184186

185187
It is important to understand the concept of `endpoints` and `nodes`.
186-
In short: `endpoints` are where `talosctl` *sends* commands to, but the command *operates* on the specified `nodes`.
188+
In short: `endpoints` are where `talosctl` _sends_ commands to, but the command _operates_ on the specified `nodes`.
187189
The endpoint will forward the command to the nodes, if needed.
188190

189191
### Endpoints
@@ -201,7 +203,7 @@ In this tutorial setup, the endpoint will always be the single control plane nod
201203

202204
Nodes are the target(s) you wish to perform the operation on.
203205

204-
> When specifying nodes, the IPs and/or hostnames are *as seen by the endpoint servers*, not as from the client.
206+
> When specifying nodes, the IPs and/or hostnames are _as seen by the endpoint servers_, not as from the client.
205207
> This is because all connections are proxied through the endpoints.
206208

207209
You may provide `-n` or `--nodes` to any `talosctl` command to supply the node or (comma-separated) nodes on which you wish to perform the operation.
@@ -212,7 +214,7 @@ For example, to see the containers running on node 192.168.0.200, by routing the
212214
talosctl -e 192.168.0.2 -n 192.168.0.200 containers
213215
```
214216

215-
To see the etcd logs on *both* nodes 192.168.0.10 and 192.168.0.11:
217+
To see the etcd logs on _both_ nodes 192.168.0.10 and 192.168.0.11:
216218

217219
```bash
218220
talosctl -e 192.168.0.2 -n 192.168.0.10,192.168.0.11 logs etcd
@@ -243,7 +245,7 @@ Apply the `controlplane.yaml` file to the control plane node, and the `worker.ya
243245
```
244246

245247
The `--insecure` flag is necessary because the PKI infrastructure has not yet been made available to the node.
246-
Note: the connection *will* be encrypted, but not authenticated.
248+
Note: the connection _will_ be encrypted, but not authenticated.
247249

248250
When using the `--insecure` flag, it is not necessary to specify an endpoint.
249251

@@ -271,8 +273,8 @@ talosctl bootstrap --nodes 192.168.0.2 --endpoints 192.168.0.2 \
271273
--talosconfig=./talosconfig
272274
```
273275

274-
>The bootstrap operation should only be called **ONCE** on a **SINGLE** control plane node.
275-
(If you have multiple control plane nodes, it doesn't matter which one you issue the bootstrap command against.)
276+
> The bootstrap operation should only be called **ONCE** on a **SINGLE** control plane node.
277+
> (If you have multiple control plane nodes, it doesn't matter which one you issue the bootstrap command against.)
276278

277279
At this point, Talos will form an `etcd` cluster, and start the Kubernetes control plane components.
278280

@@ -284,7 +286,7 @@ After a few moments, you will be able to download your Kubernetes client configu
284286

285287
Running this command will add (merge) you new cluster into your local Kubernetes configuration.
286288

287-
If you would prefer the configuration to *not* be merged into your default Kubernetes configuration file, pass in a filename:
289+
If you would prefer the configuration to _not_ be merged into your default Kubernetes configuration file, pass in a filename:
288290

289291
```sh
290292
talosctl kubeconfig alternative-kubeconfig --nodes 192.168.0.2 --endpoints 192.168.0.2

Diff for: website/content/v1.8/talos-guides/install/local-platforms/qemu.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,14 @@ apt install qemu-system-x86 qemu-kvm
4141

4242
### Install talosctl
4343

44-
Download `talosctl` via
44+
You can download `talosctl` an MacOS and Linux via:
4545

4646
```bash
47-
curl -sL https://talos.dev/install | sh
47+
brew install siderolabs/tap/talosctl
4848
```
4949

50+
For manually installation and other platform please see the [talosctl installation guide]({{< relref "../talosctl.md" >}}).
51+
5052
## Install Talos kernel and initramfs
5153

5254
QEMU provisioner depends on Talos kernel (`vmlinuz`) and initramfs (`initramfs.xz`).

Diff for: website/content/v1.8/talos-guides/install/local-platforms/virtualbox.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@ apt install virtualbox
2626

2727
### Install talosctl
2828

29-
You can download `talosctl` via
29+
You can download `talosctl` an MacOS and Linux via:
3030

3131
```bash
32-
curl -sL https://talos.dev/install | sh
32+
brew install siderolabs/tap/talosctl
3333
```
3434

35+
For manually installation and other platform please see the [talosctl installation guide]({{< relref "../talosctl.md" >}}).
36+
3537
### Download ISO Image
3638

3739
Download the ISO image from the Talos release page.
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
title: "talosctl"
3+
description: "Install Talos Linux CLI"
4+
---
5+
6+
## Recommended
7+
8+
The client can be installed and updated via the [Homebrew package manager](https://brew.sh/) for macOS and Linux.
9+
You will need to install `brew` and then you can install `talosctl` from the Sidero Labs tap.
10+
11+
```bash
12+
brew install siderolabs/tap/talosctl
13+
```
14+
15+
This will also keep your version of `talosctl` up to date with new releases.
16+
This homebrew tap also has formulae for `omnictl` if you need to install that package.
17+
18+
> Note: Your `talosctl` version should match the version of Talos Linux you are running on a host.
19+
> To install a specific version of `talosctl` with `brew` you can follow [this github issue](https://github.com/siderolabs/homebrew-tap/issues/75).
20+
21+
## Alternative install
22+
23+
You can automatically install the correct version of `talosctl` for your operating system and architecture with an installer script.
24+
This script won't keep your version updated with releases and you will need to re-run the script to download a new version.
25+
26+
```bash
27+
curl -sL https://talos.dev/install | sh
28+
```
29+
30+
This script will work on macOS, Linux, and WSL on Windows.
31+
It supports amd64 and arm64 architecture.
32+
33+
## Manual and Windows install
34+
35+
All versions can be manually downloaded from the [talos releases page](https://github.com/siderolabs/talos/releases/) including Linux, macOS, and Windows.
36+
37+
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+
39+
Updating the binary will be a manual process.

Diff for: website/content/v1.8/talos-guides/install/virtualized-platforms/proxmox.md

+42-3
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@ Visit the [Proxmox](https://www.proxmox.com/en/downloads) downloads page if nece
2222

2323
### Install talosctl
2424

25-
You can download `talosctl` via
25+
You can download `talosctl` an MacOS and Linux via:
2626

2727
```bash
28-
curl -sL https://talos.dev/install | sh
28+
brew install siderolabs/tap/talosctl
2929
```
3030

31+
For manually installation and other platform please see the [talosctl installation guide]({{< relref "../talosctl.md" >}}).
32+
3133
### Download ISO Image
3234

3335
In order to install Talos in Proxmox, you will need the ISO image from the Talos release page.
@@ -36,7 +38,7 @@ You can download `metal-amd64.iso` via
3638

3739
```bash
3840
mkdir -p _out/
39-
curl https://github.com/siderolabs/talos/releases/download/<version>/metal-<arch>.iso -L -o _out/metal-<arch>.iso
41+
curl https://github.com/siderolabs/talos/releases/download/{{< release >}}/metal-<arch>.iso -L -o _out/metal-<arch>.iso
4042
```
4143

4244
For example version `{{< release >}}` for `linux` platform:
@@ -46,6 +48,32 @@ mkdir -p _out/
4648
curl https://github.com/siderolabs/talos/releases/download/{{< release >}}/metal-amd64.iso -L -o _out/metal-amd64.iso
4749
```
4850

51+
### QEMU guest agent support (iso)
52+
53+
- If you need the QEMU guest agent so you can do guest VM shutdowns of your Talos VMs, then you will need a custom ISO
54+
- To get this, navigate to https://factory.talos.dev/
55+
- Scroll down and select your Talos version (`{{< release >}}` for example)
56+
- Then tick the box for `siderolabs/qemu-guest-agent` and submit
57+
- This will provide you with a link to the bare metal ISO
58+
- The lines we're interested in are as follows
59+
60+
```text
61+
Metal ISO
62+
63+
amd64 ISO
64+
https://factory.talos.dev/image/ce4c980550dd2ab1b17bbf2b08801c7eb59418eafe8f279833297925d67c7515/{{< release >}}/metal-amd64.iso
65+
arm64 ISO
66+
https://factory.talos.dev/image/ce4c980550dd2ab1b17bbf2b08801c7eb59418eafe8f279833297925d67c7515/{{< release >}}/metal-arm64.iso
67+
68+
Installer Image
69+
70+
For the initial Talos install or upgrade use the following installer image:
71+
factory.talos.dev/installer/ce4c980550dd2ab1b17bbf2b08801c7eb59418eafe8f279833297925d67c7515:{{< release >}}
72+
```
73+
74+
- Download the above ISO (this will most likely be `amd64` for you)
75+
- Take note of the `factory.talos.dev/installer` URL as you'll need it later
76+
4977
## Upload ISO
5078

5179
From the Proxmox UI, select the "local" storage and enter the "Content" section.
@@ -172,6 +200,17 @@ This will create several files in the `_out` directory: `controlplane.yaml`, `wo
172200
>
173201
> Update `controlplane.yaml` and `worker.yaml` config files to point to the correct disk location.
174202
203+
### QEMU guest agent support
204+
205+
For QEMU guest agent support, you can generate the config with the custom install image:
206+
207+
```bash
208+
talosctl gen config talos-proxmox-cluster https://$CONTROL_PLANE_IP:6443 --output-dir _out --installer-image factory.talos.dev/installer/ce4c980550dd2ab1b17bbf2b08801c7eb59418eafe8f279833297925d67c7515:{{< release >}}
209+
```
210+
211+
- In Proxmox, go to your VM --> Options and ensure that `QEMU Guest Agent` is `Enabled`
212+
- The QEMU agent is now configured
213+
175214
## Create Control Plane Node
176215

177216
Using the `controlplane.yaml` generated above, you can now apply this config using talosctl.

0 commit comments

Comments
 (0)