-
Notifications
You must be signed in to change notification settings - Fork 544
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: update documentation for Talos 1.4
Updated documentation, what's new, etc. Also fix some minor UI issues in the dashboard. Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com> (cherry picked from commit 8689bef)
- Loading branch information
Showing
16 changed files
with
341 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
--- | ||
title: What's New in Talos 1.4 | ||
weight: 50 | ||
description: "List of new and shiny features in Talos Linux." | ||
--- | ||
|
||
See also [upgrade notes]({{< relref "../../talos-guides/upgrading-talos/">}}) for important changes. | ||
|
||
## Interactive Dashboard | ||
|
||
Talos now starts a text-based [UI dashboard]({{< relref "../../talos-guides/interactive-dashboard" >}}) on virtual console `/dev/tty2` and switches to it by default upon boot. | ||
Kernel logs remain available on `/dev/tty1`. | ||
|
||
To switch between virtual TTYs, use the `Alt+F1` and `Alt+F2` keys. | ||
|
||
You can disable this new feature by setting the kernel parameter `talos.dashboard.disabled=1`. | ||
The dashboard is disabled by default on SBCs to limit resource usage. | ||
|
||
The output to the serial console is not affected by this change. | ||
|
||
{{< imgproc "interactive-dashboard-2.png" Fit "920x920" >}} | ||
Interactive Dashboard on QEMU VM | ||
{{< /imgproc >}} | ||
|
||
## Boot Process | ||
|
||
Talos now ships with the latest Linux LTS kernel 6.1.x. | ||
|
||
### GRUB Menu Wipe Options | ||
|
||
Talos ISO GRUB menu now an includes an option to wipe completely a Talos installed on a system disk. | ||
|
||
Talos GRUB menu for a system disk boot now includes an option to wipe `STATE` and `EPHEMERAL` partition returning the | ||
machine to the maintenance mode. | ||
|
||
### Kernel Modules | ||
|
||
Talos now automatically loads kernel drivers built as modules. | ||
If any system extensions or the Talos base kernel build provides kernel modules and if they matches the system hardware (via PCI IDs), they will be loaded automatically. | ||
Modules can still be loaded explicitly by defining it in [machine configuration](https://www.talos.dev/v1.4/reference/configuration/#kernelconfig). | ||
|
||
At the moment only a small subset of device drivers is built as modules, but we plan to expand this list in the future. | ||
|
||
### Kernel Modules Tree | ||
|
||
Talos now supports re-building the kernel modules dependency tree information on upgrades. | ||
This allows modules of same name to co-exist as in-tree and external modules. | ||
System Extensions can provide modules installed into `extras` directory and when loading it'll take precedence over the in-tree module. | ||
|
||
### Kernel Argument `talos.environment` | ||
|
||
Talos now supports passing environment variables via `talos.environment` kernel argument. | ||
|
||
Example: | ||
|
||
```text | ||
talos.environment=http_proxy=http://proxy.example.com:8080 talos.environment=https_proxy=http://proxy.example.com:8080 | ||
``` | ||
|
||
### Kernel Argument `talos.experimental.wipe` | ||
|
||
Talos now supports specifying a list of system partitions to be wiped in the `talos.experimental.wipe` kernel argument. | ||
|
||
```text | ||
`talos.experimental.wipe=system:EPHEMERAL,STATE` | ||
``` | ||
|
||
## Networking | ||
|
||
### Bond Device Selectors | ||
|
||
Bond links can now be described using device selectors instead of explicit device names: | ||
|
||
```yaml | ||
machine: | ||
network: | ||
interfaces: | ||
- interface: bond0 | ||
bond: | ||
deviceSelectors: | ||
- hardwareAddr: '00:50:56:*' | ||
- hardwareAddr: '00:50:57:9c:2c:2d' | ||
``` | ||
### VLAN Machine Configuration | ||
Strategic merge config patches now correctly support merging `.vlans` sections of the network interface. | ||
|
||
## `talosctl` CLI | ||
|
||
### `talosctl etcd` | ||
|
||
Talos adds new APIs to make it easier to perform etcd maintenance operations. | ||
|
||
These APIs are available via new `talosctl etcd` sub-commands: | ||
|
||
* `talosctl etcd alarm list|disarm` | ||
* `talosctl etcd defrag` | ||
* `talosctl etcd status` | ||
|
||
See also [etcd maintenance guide]({{< relref "../../advanced/etcd-maintenance " >}}). | ||
|
||
### `talosctl containers` | ||
|
||
`talosctl logs -k` and `talosctl containers -k` now support and output container display names with their ids. | ||
This allows to distinguish between containers with the same name. | ||
|
||
### `talosctl dashboard` | ||
|
||
A dashboard now shows same information as interactive console (see above), but in a remote way over the Talos API: | ||
|
||
{{< imgproc "talos-dashboard.png" Fit "920x600" >}} | ||
talosctl dashboard CLI | ||
{{< /imgproc >}} | ||
|
||
Previous monitoring screen can be accessed by using `<F2>` key. | ||
|
||
### `talosctl logs` | ||
|
||
An issue was fixed which might lead to the log output corruption in the CLI under certain conditions. | ||
|
||
### `talosctl netstat` | ||
|
||
Talos API was extended to support retrieving a list of network connections (sockets) from the node and pods. | ||
`talosctl netstat` command was added to retrieve the list of network connections. | ||
|
||
### `talosctl reset` | ||
|
||
Talos now supports resetting user disks through the Reset API, | ||
the list of disks to wipe can be passed using the `--user-disks-to-wipe` flag to the `talosctl reset` command. | ||
|
||
## Miscellaneous | ||
|
||
### Registry Mirror Catch-All Option | ||
|
||
Talos now supports a catch-all option for registry mirrors: | ||
|
||
```yaml | ||
machine: | ||
registries: | ||
mirrors: | ||
docker.io: | ||
- https://registry-1.docker.io/ | ||
"*": | ||
- https://my-registry.example.com/ | ||
``` | ||
|
||
### Talos API `os:operator` role | ||
|
||
Talos now supports a new `os:operator` role for the Talos API. | ||
This role allows everything `os:reader` role allows plus access to maintenance APIs: | ||
rebooting, shutting down a node, accessing packet capture, etcd alarm APIs, etcd backup, etc. | ||
|
||
### VMware Platform | ||
|
||
Talos now supports loading network configuration on VMWare platform from the `metadata` key. | ||
See [CAPV IPAM Support](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/blob/main/docs/proposal/20220929-ipam-support.md) and | ||
[Talos issue 6708](https://github.com/siderolabs/talos/issues/6708) for details. | ||
|
||
## Component Updates | ||
|
||
* Linux: 6.1.24 | ||
* containerd: v1.6.20 | ||
* runc: v1.1.5 | ||
* Kubernetes: v1.27.1 | ||
* etcd: v3.5.8 | ||
* CoreDNS: v1.10.1 | ||
* Flannel: v0.21.4 | ||
|
||
Talos is built with Go 1.20.3. |
Binary file added
BIN
+89.4 KB
website/content/v1.4/introduction/what-is-new/interactive-dashboard-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
65 changes: 65 additions & 0 deletions
65
website/content/v1.4/talos-guides/install/bare-metal-platforms/network-config.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
--- | ||
title: "Network Configuration" | ||
description: "In this guide we will describe how network can be configured on bare-metal platforms." | ||
--- | ||
|
||
By default, Talos will run DHCP client on all interfaces which have a link, and that might be enough for most of the cases. | ||
If some advanced network configuration is required, it can be done via the [machine configuration]({{< relref "../../../reference/configuration" >}}) file. | ||
|
||
But sometimes it is required to apply network configuration even before the machine configuration can be fetched from the network. | ||
|
||
## Kernel Command Line | ||
|
||
Talos supports some kernel command line parameters to configure network before the machine configuration is fetched. | ||
|
||
> Note: Kernel command line parameters are not persisted after Talos installation, so proper network configuration should be done via the machine configuration. | ||
Address, default gateway and DNS servers can be configured via `ip=` kernel command line parameter: | ||
|
||
```text | ||
ip=172.20.0.2::172.20.0.1:255.255.255.0::eth0.100::::: | ||
``` | ||
|
||
Bonding can be configured via `bond=` kernel command line parameter: | ||
|
||
```text | ||
bond=bond0:eth0,eth1:balance-rr | ||
``` | ||
|
||
VLANs can be configured via `vlan=` kernel command line parameter: | ||
|
||
```text | ||
vlan=eth0.100:eth0 | ||
``` | ||
|
||
See [kernel parameters reference]({{< relref "../../../reference/kernel" >}}) for more details. | ||
|
||
### Platform Network Configuration | ||
|
||
Some platforms (e.g. AWS, Google Cloud, etc.) have their own network configuration mechanisms, which can be used to perform the initial network configuration. | ||
There is no such mechanism for bare-metal platforms, so Talos provides a way to use platform network config on the `metal` platform to submit the initial network configuration. | ||
|
||
The platform network configuration is a YAML document which contains resource specifications for various network resources. | ||
For the `metal` platform, the [interactive dashboard]({{< relref "../../interactive-dashboard" >}}) can be used to edit the platform network configuration. | ||
|
||
The current value of the platform network configuration can be retrieved using the `MetaKeys` resource (key `0xa`): | ||
|
||
```bash | ||
talosctl get meta 0xa | ||
``` | ||
|
||
The platform network configuration can be updated using the `talosctl meta` command for the running node: | ||
|
||
```bash | ||
talosctl meta write 0xa '{"externalIPs": ["1.2.3.4"]}' | ||
talosctl meta delete 0xa | ||
``` | ||
|
||
The initial platform network configuration for the `metal` platform can be also included into the generated Talos image: | ||
|
||
```bash | ||
docker run --rm -i ghcr.io/siderolabs/imager:{{< release >}} iso --arch amd64 --tar-to-stdout --meta 0xa='{...}' | tar xz | ||
docker run --rm -i --privileged ghcr.io/siderolabs/imager:{{< release >}} image --platform metal --arch amd64 --tar-to-stdout --meta 0xa='{...}' | tar xz | ||
``` | ||
|
||
The platform network configuration gets merged with other sources of network configuration, the details can be found in the [network resources guide]({{< relref "../../../learn-more/networking-resources.md#configuration-merging" >}}). |
70 changes: 70 additions & 0 deletions
70
website/content/v1.4/talos-guides/interactive-dashboard/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
--- | ||
title: "Interactive Dashboard" | ||
description: "A tool to inspect the running Talos machine state on the physical video console." | ||
--- | ||
|
||
Interactive dashboard is enabled for all Talos platforms except for SBC images. | ||
The dashboard can be disabled with kernel parameter `talos.dashboard.disabled=1`. | ||
|
||
The dashboard runs only on the physical video console (not serial console) on the 2nd virtual TTY. | ||
The first virtual TTY shows kernel logs same as in Talos <1.4.0. | ||
The virtual TTYs can be switched with `<Alt+F1>` and `<Alt+F2>` keys. | ||
|
||
Keys `<F1>` - `<Fn>` can be used to switch between different screens of the dashboard. | ||
|
||
The dashboard is using either UEFI framebuffer or VGA/VESA framebuffer (for legacy BIOS boot). | ||
For legacy BIOS boot screen resolution can be controlled with the [`vga=` kernel parameter](https://docs.kernel.org/fb/vesafb.html). | ||
|
||
## Summary Screen (`F1`) | ||
|
||
{{< imgproc "interactive-dashboard-1.png" Fit "920x920" >}} | ||
Interactive Dashboard Summary Screen | ||
{{< /imgproc >}} | ||
|
||
The header shows brief information about the node: | ||
|
||
* hostname | ||
* Talos version | ||
* uptime | ||
* CPU and memory hardware information | ||
* CPU and memory load, number of processes | ||
|
||
Table view presents summary information about the machine: | ||
|
||
* UUID (from SMBIOS data) | ||
* Cluster name (when the machine config is available) | ||
* Machine stage: `Installing`, `Upgrading`, `Booting`, `Maintenance`, `Running`, `Rebooting`, `Shutting down`, etc. | ||
* Machine stage readiness: checks Talos service status, static pod status, etc. (for `Running` stage) | ||
* Machine type: controlplane/worker | ||
* Number of members discovered in the cluster | ||
* Kubernetes version | ||
* Status of Kubernetes components: `kubelet` and Kubernetes controlplane components (only on `controlplane` machines) | ||
* Network information: Hostname, Addresses, Gateway, Connectivity, DNS and NTP servers | ||
|
||
Bottom part of the screen shows kernel logs, same as on the virtual TTY 1. | ||
|
||
## Monitor Screen (`F2`) | ||
|
||
{{< imgproc "interactive-dashboard-2.png" Fit "920x920" >}} | ||
Interactive Dashboard Monitor Screen | ||
{{< /imgproc >}} | ||
|
||
Monitor screen provides live view of the machine resource usage: CPU, memory, disk, network and processes. | ||
|
||
## Network Config Screen (`F3`) | ||
|
||
> Note: network config screen is only available for `metal` platform. | ||
{{< imgproc "interactive-dashboard-3.png" Fit "920x920" >}} | ||
Interactive Dashboard Network Config Screen | ||
{{< /imgproc >}} | ||
|
||
Network config screen provides editing capabilities for the `metal` [platform network configuration]({{< relref "../install/bare-metal-platforms/network-config" >}}). | ||
|
||
The screen is split into three sections: | ||
|
||
* the leftmost section provides a way to enter network configuration: hostname, DNS and NTP servers, configure the network interface either via DHCP or static IP address, etc. | ||
* the middle section shows the current network configuration. | ||
* the rightmost section shows the network configuration which will be applied after pressing "Save" button. | ||
|
||
Once the platform network configuration is saved, it is immediately applied to the machine. |
Binary file added
BIN
+269 KB
...ite/content/v1.4/talos-guides/interactive-dashboard/interactive-dashboard-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+89.4 KB
...ite/content/v1.4/talos-guides/interactive-dashboard/interactive-dashboard-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+80 KB
...ite/content/v1.4/talos-guides/interactive-dashboard/interactive-dashboard-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.