From 10da553ef0dde5f87f09321400239baa51929a36 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Tue, 10 Dec 2024 15:28:58 +0400 Subject: [PATCH] docs: build what's new for 1.9 Also contains various small fixes to the documentation. Fixes #9853 Fixes #9901 Signed-off-by: Andrey Smirnov --- hack/release.toml | 3 +- .../types/v1alpha1/v1alpha1_examples.go | 2 +- website/content/v1.9/_index.md | 8 +- .../v1.9/introduction/support-matrix.md | 10 +- .../v1.9/introduction/what-is-new/index.md | 219 +++++++++++++++++- .../configuration/v1alpha1/config.md | 40 ++-- .../bare-metal-platforms/network-config.md | 7 +- .../install/cloud-platforms/azure.md | 2 +- .../install/cloud-platforms/gcp.md | 2 +- .../install/cloud-platforms/nocloud.md | 9 +- .../install/cloud-platforms/openstack.md | 2 +- .../install/cloud-platforms/upcloud.md | 2 +- .../talos-guides/network/device-selector.md | 2 +- .../v1.9/talos-guides/upgrading-talos.md | 16 +- 14 files changed, 278 insertions(+), 46 deletions(-) diff --git a/hack/release.toml b/hack/release.toml index f1c8b422be..0d836173e1 100644 --- a/hack/release.toml +++ b/hack/release.toml @@ -22,7 +22,7 @@ preface = """ * containerd: 2.0.0 * Flannel: 0.26.1 * Kubernetes: 1.32.0-rc.1 -* runc: 1.2.1 +* runc: 1.2.2 * CoreDNS: 1.12.0 Talos is built with Go 1.23.4. @@ -174,6 +174,7 @@ It can be enabled with the following config patch: machine: features: nodeAddressSortAlgorithm: v2 +``` """ [make_deps] diff --git a/pkg/machinery/config/types/v1alpha1/v1alpha1_examples.go b/pkg/machinery/config/types/v1alpha1/v1alpha1_examples.go index db33f3692d..7c156cc784 100644 --- a/pkg/machinery/config/types/v1alpha1/v1alpha1_examples.go +++ b/pkg/machinery/config/types/v1alpha1/v1alpha1_examples.go @@ -610,7 +610,7 @@ func networkDeviceSelectorExamples() []NetworkDeviceSelector { }, { NetworkDeviceHardwareAddress: "*:f0:ab", - NetworkDeviceKernelDriver: "virtio", + NetworkDeviceKernelDriver: "virtio_net", }, } } diff --git a/website/content/v1.9/_index.md b/website/content/v1.9/_index.md index 77138e29b6..9df8dbb7e7 100644 --- a/website/content/v1.9/_index.md +++ b/website/content/v1.9/_index.md @@ -5,11 +5,11 @@ linkTitle: "Documentation" images: ["images/talos-dev-banner.png"] cascade: type: docs -lastRelease: v1.9.0-alpha.0 -kubernetesRelease: "1.32.0-beta.0" +lastRelease: v1.9.0-beta.1 +kubernetesRelease: "1.32.0-rc.1" prevKubernetesRelease: "1.31.1" -nvidiaContainerToolkitRelease: "v1.16.1" -nvidiaDriverRelease: "535.183.06" +nvidiaContainerToolkitRelease: "v1.17.2" +nvidiaDriverRelease: "535.216.03" preRelease: true --- diff --git a/website/content/v1.9/introduction/support-matrix.md b/website/content/v1.9/introduction/support-matrix.md index 1af2b2c836..897f5093ba 100644 --- a/website/content/v1.9/introduction/support-matrix.md +++ b/website/content/v1.9/introduction/support-matrix.md @@ -7,7 +7,7 @@ description: "Table of supported Talos Linux versions and respective platforms." | Talos Version | 1.9 | 1.8 | | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Release Date | 2024-12-15 (TBD) | 2024-09-23 (1.8.0) | -| End of Community Support | 1.10.0 release (2025-04-15, TBD) | 1.9.0 release (2024-12-25, TBD) | +| End of Community Support | 1.10.0 release (2025-04-15, TBD) | 1.9.0 release (2024-12-15, TBD) | | Enterprise Support | [offered by Sidero Labs Inc.](https://www.siderolabs.com/support/) | [offered by Sidero Labs Inc.](https://www.siderolabs.com/support/) | | Kubernetes | 1.32, 1.31, 1.30, 1.29, 1.28, 1.27 | 1.31, 1.30, 1.29, 1.28, 1.27, 1.26 | | NVIDIA Drivers | 550.x.x (PRODUCTION), 535.x.x (LTS) | 550.x.x (PRODUCTION), 535.x.x (LTS) | @@ -16,11 +16,13 @@ description: "Table of supported Talos Linux versions and respective platforms." | - cloud | Akamai, AWS, GCP, Azure, CloudStack, Digital Ocean, Exoscale, Hetzner, OpenNebula, OpenStack, Oracle Cloud, Scaleway, Vultr, Upcloud | Akamai, AWS, GCP, Azure, CloudStack, Digital Ocean, Exoscale, Hetzner, OpenNebula, OpenStack, Oracle Cloud, Scaleway, Vultr, Upcloud | | - bare metal | x86: BIOS, UEFI, SecureBoot; arm64: UEFI, SecureBoot; boot: ISO, PXE, disk image | x86: BIOS, UEFI; arm64: UEFI; boot: ISO, PXE, disk image | | - virtualized | VMware, Hyper-V, KVM, Proxmox, Xen | VMware, Hyper-V, KVM, Proxmox, Xen | -| - SBCs | Banana Pi M64, Jetson Nano, Libre Computer Board ALL-H3-CC, Nano Pi R4S, Pine64, Pine64 Rock64, Radxa ROCK Pi 4c, Radxa Rock4c+, Raspberry Pi 4B, Raspberry Pi Compute Module 4 | Banana Pi M64, Jetson Nano, Libre Computer Board ALL-H3-CC, Nano Pi R4S, Orange Pi R1 Plus LTS, Pine64, Pine64 Rock64, Radxa ROCK Pi 4c, Raspberry Pi 4B, Raspberry Pi Compute Module 4, Turing RK1 | +| - SBCs | Banana Pi M64, Jetson Nano, Libre Computer Board ALL-H3-CC, Nano Pi R4S, Pine64, Pine64 Rock64, Radxa ROCK Pi 4c, Radxa Rock4c+, Raspberry Pi 4B, Raspberry Pi Compute Module 4, Turing RK1 | Banana Pi M64, Jetson Nano, Libre Computer Board ALL-H3-CC, Nano Pi R4S, Orange Pi R1 Plus LTS, Pine64, Pine64 Rock64, Radxa ROCK Pi 4c, Raspberry Pi 4B, Raspberry Pi Compute Module 4 | | - local | Docker, QEMU | Docker, QEMU | +| **Omni** | | | +| [Omni](https://github.com/siderolabs/omni) | >= 0.45.0 | >= 0.43.0 | | **Cluster API** | | | -| [CAPI Bootstrap Provider Talos](https://github.com/siderolabs/cluster-api-bootstrap-provider-talos) | >= 0.6.6 | >= 0.6.6 | -| [CAPI Control Plane Provider Talos](https://github.com/siderolabs/cluster-api-control-plane-provider-talos) | >= 0.5.7 | >= 0.5.7 | +| [CAPI Bootstrap Provider Talos](https://github.com/siderolabs/cluster-api-bootstrap-provider-talos) | >= 0.6.7 | >= 0.6.6 | +| [CAPI Control Plane Provider Talos](https://github.com/siderolabs/cluster-api-control-plane-provider-talos) | >= 0.5.8 | >= 0.5.7 | | [Sidero](https://www.sidero.dev/) | >= 0.6.5 | >= 0.6.5 | ## Platform Tiers diff --git a/website/content/v1.9/introduction/what-is-new/index.md b/website/content/v1.9/introduction/what-is-new/index.md index f4d2f47de2..761ec61df2 100644 --- a/website/content/v1.9/introduction/what-is-new/index.md +++ b/website/content/v1.9/introduction/what-is-new/index.md @@ -6,4 +6,221 @@ description: "List of new and shiny features in Talos Linux." See also [upgrade notes]({{< relref "../../talos-guides/upgrading-talos/">}}) for important changes. -TBD +## Important Changes + +Please read this section carefully before upgrading to Talos 1.9.0. + +### Direct Rendering Manager (DRM) + +Starting with Talos 1.9, the `i915` and `amdgpu` DRM drivers have been removed from the Talos base image. +These drivers, along with their firmware, are now included in two new system extensions named `i915` and `amdgpu`. +The previously available extensions `i915-ucode` and `amdgpu-firmware` have been retired. + +Upgrades via Image Factory or Omni will automatically include the new extensions if the `i915-ucode` or `amdgpu-firmware` extensions were previously used. + +### udevd + +Talos previously used `eudev` to provide `udevd`, now it uses `systemd-udevd` instead. + +The `systemd-udevd` might change the names of network interfaces with predictable names, potentially causing issues with existing configurations. + +## Image Cache + +Talos now supports providing a local [Image Cache]({{< relref "../../talos-guides/configuration/image-cache" >}}) for container images. + +The Image Cache feature can be used to avoid downloading the required images over the network, which can be useful in air-gapped or weak connectivity environments. + +## Networking + +### Custom DNS Search Domains + +Talos now allows to supports specifying custom search domains for Talos nodes using +new machine configuration field [`.machine.network.searchDomains`]({{< relref "../../reference/configuration/v1alpha1/config/#Config.machine.network" >}}). + +For the host the `/etc/resolve.conf` would look like: + +```text +nameserver 127.0.0.53 + +search my-custom-search-name.com my-custom-search-name2.com +``` + +For the pods it will look something like this: + +```text +search default.svc.cluster.local svc.cluster.local cluster.local my-custom-search-name.com my-custom-search-name2.com +nameserver 10.96.0.10 +options ndots:5 +``` + +### Device Selectors + +Talos now supports matching on [permanent hardware (MAC) address]({{< relref "../../reference/configuration/v1alpha1/config/#Config.machine.network.interfaces..bond.deviceSelectors." >}}) of the network interfaces. +This is specifically useful to match bond members, as they change their hardware addresses when they become part of the bond. + +### Node Address Ordering + +Talos supports new experimental address sort algorithm for `NodeAddress` which are used to pick up default addresses for `kubelet`, `etcd`, etc. + +It can be enabled with the following config patch: + +```yaml +machine: + features: + nodeAddressSortAlgorithm: v2 +``` + +The new algorithm prefers more specific prefixes, which is specifically useful for IPv6 addresses. + +## Control Groups Analysis + +The `talosctl cgroups` command has been added to the `talosctl` tool. +This command allows you to view the [cgroup resource consumption and limits]({{< relref "../../advanced/cgroups-analysis" >}}) for a machine, e.g. +`talosctl cgroups --preset memory`. + +## Kubernetes + +### APIServer Authorization Config + +Starting with Talos 1.9, `.cluster.apiServer.authorizationConfig` field supports setting [Kubernetes API server authorization modes](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#using-configuration-file-for-authorization) +using the `--authorization-config` flag. + +The machine config field supports a list of `authorizers`. +For instance: + +```yaml +cluster: + apiServer: + authorizationConfig: + - type: Node + name: Node + - type: RBAC + name: rbac +``` + +For new cluster if the Kubernetes API server supports the `--authorization-config` flag, it'll be used by default instead of the `--authorization-mode` flag. +By default Talos will always add the `Node` and `RBAC` authorizers to the list. + +When upgrading if either a user-provided `authorization-mode` or `authorization-webhook-*` flag is set via `.cluster.apiServer.extraArgs`, it'll be used instead of the new `AuthorizationConfig`. + +Current authorization config can be viewed by running: `talosctl get authorizationconfigs.kubernetes.talos.dev -o yaml`. + +### User Namespaces + +Talos Linux now supports running Kubernetes pods with user namespaces enabled. +Please refer to the [documentation]({{< relref "../../kubernetes-guides/configuration/usernamespace" >}}) for more information. + +## Containers + +### OCI Base Runtime Spec + +Talos now allows to [modify the OCI base runtime spec for the container runtime]({{< relref "../../advanced/oci-base-spec" >}}). + +### Registry Mirrors + +In versions before Talos 1.9, there was a discrepancy between the way Talos itself and CRI plugin resolves registry mirrors: +Talos will never fall back to the default registry if endpoints are configured, while CRI plugin will. + +> Note: Talos Linux pulls images for the `installer`, `kubelet`, `etcd`, while all workload images are pulled by the CRI plugin. + +In Talos 1.9 this was fixed, so that by default an upstream registry is used as a fallback in all cases, while new registry mirror +[configuration option]({{< relref "../../reference/configuration/v1alpha1/config/#Config.machine.registries.mirrors.-" >}}) `.skipFallback` can be used to disable this behavior both for Talos and CRI plugin. + +## Miscellaneous + +### `auditd` + +Talos Linux now starts an `auditd` service by default. +Linux kernel audit logs can be fetched with `talosctl logs auditd`. + +### `talosctl disks` + +The command `talosctl disks` was removed, please use `talosctl get disks`, `talosctl get systemdisk`, and `talosctl get blockdevices` instead. + +### `talosctl wipe` + +The new command `talosctl wipe disk` allows to wipe a disk or a partition which is not used as a volume. + +## New Platforms + +### Turing RK1 + +Talos now supports the [Turning RK1]({{< relref "../../talos-guides/install/single-board-computers/turing_rk1" >}}) SOM. + +### `nocloud` + +On bare-metal, Talos Linux was tested to correctly parse `nocloud` configuration from the following providers: + +* [phoenixNAP Bare Metal Cloud](https://phoenixnap.com/) +* [servers.com](https://www.servers.com/) + +## Deprecations + +### cgroups version 1 + +Support for `cgroupsv1` is deprecated, and will be removed in Talos 1.10 (for non-container mode). + +## Component Updates + +* Linux: 6.12.4 +* containerd: 2.0.0 +* Flannel: 0.26.1 +* Kubernetes: 1.32.0 +* runc: 1.2.2 +* CoreDNS: 1.12.0 + +Talos is built with Go 1.23.4. + +## Contributors + +Thanks to the following contributors who made this release possible: + +* adilTepe +* Adolfo Ochagavía +* Alessio Moiso +* Andrey Smirnov +* blablu +* Dan Rue +* David Backeus +* Devin Buhl +* Dmitriy Matrenichev +* Dmitry Sharshakov +* Eddie Wang +* egrosdou01 +* ekarlso +* Florian Ströger +* Hexoplon +* Jakob Maležič +* Jasmin +* Jean-Francois Roy +* Joakim Nohlgård +* Justin Garrison +* KBAegis +* Mike Beaumont +* Mohammad Amin Mokhtari +* naed3r +* Nebula +* nevermarine +* Nico Berlee +* Noel Georgi +* OliviaBarrington +* Philip Schmid +* Philipp Kleber +* Rémi Paulmier +* Remko Molier +* Robby Ciliberto +* Roman Ivanov +* Ryan Borstelmann +* Sam Stelfox +* Serge Logvinov +* Sergey Melnik +* Skyler Mäntysaari +* solidDoWant +* sophia-coldren +* Spencer Smith +* SpiReCZ +* Steven Cassamajor +* Steven Kreitzer +* Tim Jones +* Utku Ozdemir +* Variant9 diff --git a/website/content/v1.9/reference/configuration/v1alpha1/config.md b/website/content/v1.9/reference/configuration/v1alpha1/config.md index 9c441f9f2a..50af5b8bf5 100644 --- a/website/content/v1.9/reference/configuration/v1alpha1/config.md +++ b/website/content/v1.9/reference/configuration/v1alpha1/config.md @@ -173,12 +173,12 @@ network: # # select a device with mac address matching `*:f0:ab` and `virtio` kernel driver. # deviceSelector: # hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # # select a device with bus prefix 00:*, a device with mac address matching `*:f0:ab` and `virtio` kernel driver. # deviceSelector: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # # Bond specific options. # bond: @@ -190,7 +190,7 @@ network: # deviceSelectors: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # mode: 802.3ad # A bond option. # lacpRate: fast # A bond option. @@ -760,12 +760,12 @@ machine: # # select a device with mac address matching `*:f0:ab` and `virtio` kernel driver. # deviceSelector: # hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # # select a device with bus prefix 00:*, a device with mac address matching `*:f0:ab` and `virtio` kernel driver. # deviceSelector: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # # Bond specific options. # bond: @@ -777,7 +777,7 @@ machine: # deviceSelectors: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # mode: 802.3ad # A bond option. # lacpRate: fast # A bond option. @@ -879,12 +879,12 @@ interfaces: # # select a device with mac address matching `*:f0:ab` and `virtio` kernel driver. # deviceSelector: # hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # # select a device with bus prefix 00:*, a device with mac address matching `*:f0:ab` and `virtio` kernel driver. # deviceSelector: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # # Bond specific options. # bond: @@ -896,7 +896,7 @@ interfaces: # deviceSelectors: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # mode: 802.3ad # A bond option. # lacpRate: fast # A bond option. @@ -1008,12 +1008,12 @@ machine: # # select a device with mac address matching `*:f0:ab` and `virtio` kernel driver. # deviceSelector: # hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # # select a device with bus prefix 00:*, a device with mac address matching `*:f0:ab` and `virtio` kernel driver. # deviceSelector: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # # Bond specific options. # bond: @@ -1025,7 +1025,7 @@ machine: # deviceSelectors: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. # mode: 802.3ad # A bond option. # lacpRate: fast # A bond option. @@ -1094,7 +1094,7 @@ deviceSelector: {{< /highlight >}}{{< highlight yaml >}} deviceSelector: hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - driver: virtio # Kernel driver, supports matching by wildcard. + driver: virtio_net # Kernel driver, supports matching by wildcard. {{< /highlight >}} | | |`addresses` |[]string |
Assigns static IP addresses to the interface.An address can be specified either in proper CIDR notation or as a standalone address (netmask of all ones is assumed).
Show example(s){{< highlight yaml >}} addresses: @@ -1123,7 +1123,7 @@ bond: # deviceSelectors: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. {{< /highlight >}}
| | |`bridge` |Bridge |Bridge specific options.
Show example(s){{< highlight yaml >}} bridge: @@ -1201,7 +1201,7 @@ machine: interfaces: - deviceSelector: hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - driver: virtio # Kernel driver, supports matching by wildcard. + driver: virtio_net # Kernel driver, supports matching by wildcard. {{< /highlight >}} {{< highlight yaml >}} @@ -1211,7 +1211,7 @@ machine: - deviceSelector: - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - driver: virtio # Kernel driver, supports matching by wildcard. + driver: virtio_net # Kernel driver, supports matching by wildcard. {{< /highlight >}} @@ -1284,7 +1284,7 @@ machine: # deviceSelectors: # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - # driver: virtio # Kernel driver, supports matching by wildcard. + # driver: virtio_net # Kernel driver, supports matching by wildcard. {{< /highlight >}} @@ -1295,7 +1295,7 @@ machine: deviceSelectors: - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - driver: virtio # Kernel driver, supports matching by wildcard. + driver: virtio_net # Kernel driver, supports matching by wildcard. {{< /highlight >}}
| | |`arpIPTarget` |[]string |
A bond option.Please see the official kernel documentation.
Not supported at the moment.
| | |`mode` |string |
A bond option.Please see the official kernel documentation.
| | @@ -1349,7 +1349,7 @@ machine: - bond: deviceSelectors: hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - driver: virtio # Kernel driver, supports matching by wildcard. + driver: virtio_net # Kernel driver, supports matching by wildcard. {{< /highlight >}} {{< highlight yaml >}} @@ -1360,7 +1360,7 @@ machine: deviceSelectors: - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard. - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard. - driver: virtio # Kernel driver, supports matching by wildcard. + driver: virtio_net # Kernel driver, supports matching by wildcard. {{< /highlight >}} diff --git a/website/content/v1.9/talos-guides/install/bare-metal-platforms/network-config.md b/website/content/v1.9/talos-guides/install/bare-metal-platforms/network-config.md index 5c8c981511..38ef25d365 100644 --- a/website/content/v1.9/talos-guides/install/bare-metal-platforms/network-config.md +++ b/website/content/v1.9/talos-guides/install/bare-metal-platforms/network-config.md @@ -34,7 +34,7 @@ vlan=eth0.100:eth0 See [kernel parameters reference]({{< relref "../../../reference/kernel" >}}) for more details. -### Platform Network Configuration +## 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. @@ -64,3 +64,8 @@ docker run --rm -i --privileged ghcr.io/siderolabs/imager:{{< release >}} image ``` 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" >}}). + +## `nocloud` Network Configuration + +Some bare-metal providers provide a way to configure network via the `nocloud` data source. +Talos Linux can automatically pick up this [configuration]({{< relref "../cloud-platforms/nocloud" >}}) when `nocloud` image is used. diff --git a/website/content/v1.9/talos-guides/install/cloud-platforms/azure.md b/website/content/v1.9/talos-guides/install/cloud-platforms/azure.md index ecde3f1e57..b6311f34d7 100644 --- a/website/content/v1.9/talos-guides/install/cloud-platforms/azure.md +++ b/website/content/v1.9/talos-guides/install/cloud-platforms/azure.md @@ -48,7 +48,7 @@ Otherwise, if you would like to upload your own image to Azure and use it to dep ### Create the Image -First, download the Azure image from a [Talos release](https://github.com/siderolabs/talos/releases). +First, download the Azure image from [Image Factory](https://factory.talos.dev/). Once downloaded, untar with `tar -xvf /path/to/azure-amd64.tar.gz` #### Upload the VHD diff --git a/website/content/v1.9/talos-guides/install/cloud-platforms/gcp.md b/website/content/v1.9/talos-guides/install/cloud-platforms/gcp.md index b4903e3a25..2608d14ff8 100644 --- a/website/content/v1.9/talos-guides/install/cloud-platforms/gcp.md +++ b/website/content/v1.9/talos-guides/install/cloud-platforms/gcp.md @@ -29,7 +29,7 @@ export REGION="us-central1" ### Create the Image -First, download the Google Cloud image from a Talos [release](https://github.com/siderolabs/talos/releases). +First, download the Google Cloud image from [Image Factory](https://factory.talos.dev/). These images are called `gcp-$ARCH.tar.gz`. #### Upload the Image diff --git a/website/content/v1.9/talos-guides/install/cloud-platforms/nocloud.md b/website/content/v1.9/talos-guides/install/cloud-platforms/nocloud.md index 06ee4d0a07..96d7783821 100644 --- a/website/content/v1.9/talos-guides/install/cloud-platforms/nocloud.md +++ b/website/content/v1.9/talos-guides/install/cloud-platforms/nocloud.md @@ -1,18 +1,23 @@ --- title: "Nocloud" -description: "Creating a cluster via the CLI using qemu." +description: "Configuring Talos networking via the `nocloud` specification." aliases: - ../../../cloud-platforms/nocloud --- Talos supports [nocloud](https://cloudinit.readthedocs.io/en/latest/reference/datasources/nocloud.html) data source implementation. +On bare-metal, Talos Linux was tested to correctly parse `nocloud` configuration from the following providers: + +* [phoenixNAP Bare Metal Cloud](https://phoenixnap.com/) +* [servers.com](https://www.servers.com/) + There are two ways to configure Talos server with `nocloud` platform: * via SMBIOS "serial number" option * using CDROM or USB-flash filesystem -> Note: This requires the nocloud image which can be found on the Github [Releases](https://github.com/siderolabs/talos/releases) page. +> Note: This requires the nocloud image which can be downloaded from the [Image Factory](https://factory.talos.dev/). ### SMBIOS Serial Number diff --git a/website/content/v1.9/talos-guides/install/cloud-platforms/openstack.md b/website/content/v1.9/talos-guides/install/cloud-platforms/openstack.md index e09cfe227f..79b50fc623 100644 --- a/website/content/v1.9/talos-guides/install/cloud-platforms/openstack.md +++ b/website/content/v1.9/talos-guides/install/cloud-platforms/openstack.md @@ -19,7 +19,7 @@ See [here](https://docs.openstack.org/newton/user-guide/common/cli-set-environme ### Create the Image -First, download the OpenStack image from a Talos [release](https://github.com/siderolabs/talos/releases). +First, download the OpenStack image from [Image Factory](https://factory.talos.dev/). These images are called `openstack-$ARCH.tar.gz`. Untar this file with `tar -xvf openstack-$ARCH.tar.gz`. The resulting file will be called `disk.raw`. diff --git a/website/content/v1.9/talos-guides/install/cloud-platforms/upcloud.md b/website/content/v1.9/talos-guides/install/cloud-platforms/upcloud.md index 2d9e11bdfa..631a915d3d 100644 --- a/website/content/v1.9/talos-guides/install/cloud-platforms/upcloud.md +++ b/website/content/v1.9/talos-guides/install/cloud-platforms/upcloud.md @@ -13,7 +13,7 @@ If you need more information on UpCloud specifics, please see the [official UpCl The best way to create an image for UpCloud, is to build one using [Hashicorp packer](https://www.packer.io/docs/builders/hetzner-cloud), with the -`upcloud-amd64.raw.xz` image found on the [Talos Releases](https://github.com/siderolabs/talos/releases). +`upcloud-amd64.raw.xz` image available from the [Image Factory](https://factory.talos.dev/). Using the general ISO is also possible, but the UpCloud image has some UpCloud specific features implemented, such as the fetching of metadata and user data to configure the nodes. diff --git a/website/content/v1.9/talos-guides/network/device-selector.md b/website/content/v1.9/talos-guides/network/device-selector.md index d6152fac6c..40f4d11b20 100644 --- a/website/content/v1.9/talos-guides/network/device-selector.md +++ b/website/content/v1.9/talos-guides/network/device-selector.md @@ -15,7 +15,7 @@ machine: network: interfaces: - deviceSelector: - driver: virtio + driver: virtio_net hardwareAddr: "00:00:*" address: 192.168.88.21 ``` diff --git a/website/content/v1.9/talos-guides/upgrading-talos.md b/website/content/v1.9/talos-guides/upgrading-talos.md index 8c03d5fe16..7e21a8ca2b 100644 --- a/website/content/v1.9/talos-guides/upgrading-talos.md +++ b/website/content/v1.9/talos-guides/upgrading-talos.md @@ -36,7 +36,7 @@ For example, if upgrading from Talos 1.0 to Talos 1.2.4, the recommended upgrade ## Before Upgrade to {{% release %}} -TBD +Talos 1.9 replaces `eudev` with `systemd-udev` as the `udevd` provider, which might lead to changes of the predictable network interface names. ## Video Walkthrough @@ -95,12 +95,14 @@ future. ## Machine Configuration Changes -* new machine configuration documents: [VolumeConfig]({{< relref "../reference/configuration/block/volumeconfig" >}}), [KubespanEndpointsConfig]({{< relref "../reference/configuration/network/kubespanendpointsconfig" >}}), - [TrustedRootsConfig]({{< relref "../reference/configuration/security/trustedrootsconfig" >}}) -* new fields in the [v1alpha1]({{< relref "../reference/configuration/v1alpha1/config" >}}) document: - * [`.machine.nodeAnnotations`]({{< relref "../reference/configuration/v1alpha1/config#Config.machine" >}}) - * [`.machine.systemDiskEncryption.*.keys.tpm.checkSecurebootStatusOnEnroll]({{< relref "../reference/configuration/v1alpha1/config#Config.machine.systemDiskEncryption.ephemeral.keys..tpm" >}}) - * [`.machine.network.interfaces.bridge.vlan`]({{< relref "../reference/configuration/v1alpha1/config#Config.machine.network.interfaces..bridge.vlan" >}}) +* [`.machine.baseRuntimeSpecOverrides`]({{< relref "../reference/configuration/v1alpha1/config#Config.machine" >}}) +* [`.machine.network.searchDomains`]({{< relref "../reference/configuration/v1alpha1/config#Config.machine.network" >}}) +* [`.machine.network.interfaces.bridgePort`]({{< relref "../reference/configuration/v1alpha1/config#Config.machine.network.interfaces..bridgePort" >}}) +* [`.machine.registry.mirrors.skipFallback`]({{< relref "../reference/configuration/v1alpha1/config/#Config.machine.registries.mirrors.-" >}}) +* [`.machine.features.imageCache`]({{< relref "../reference/configuration/v1alpha1/config/#Config.machine.features.imageCache" >}}) +* [`.machine.features.nodeAddressSortAlgorithm`]({{< relref "../reference/configuration/v1alpha1/config/#Config.machine.features" >}}) +* [`.machine.network.interfaces.bond.deviceSelectors.permanentAddr`]({{< relref "../reference/configuration/v1alpha1/config/#Config.machine.network.interfaces..bond.deviceSelectors." >}}) +* [`.cluster.apiServer.authorizationConfig`]({{< relref "../reference/configuration/v1alpha1/config#Config.cluster.apiServer.authorizationConfig." >}}) ## Upgrade Sequence