Skip to content

Commit

Permalink
docs: update whats-new-v1.0
Browse files Browse the repository at this point in the history
Just a few small changes for readability
in the Whats New section.

Signed-off-by: Tim Jones <[email protected]>
  • Loading branch information
TimJones committed Mar 29, 2022
1 parent 0a36fbb commit c41f2b2
Showing 1 changed file with 31 additions and 32 deletions.
63 changes: 31 additions & 32 deletions website/content/v1.0/introduction/what-is-new.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Talos Linux and other repositories were migrated from the `talos-systems` GitHub
to the `siderolabs` organization (github.com/talos-systems -> github.com/siderolabs).

Existing Talos Linux container images (`installer`, `talos`, etc.) are mirrored across both organizations,
but please use the new organization name going forward.
but all new images will only be available from `ghcr.io/siderolabs` going forward.

For example, when upgrading Talos use `ghcr.io/siderolabs` instead of `ghcr.io/talos-systems`:

Expand All @@ -23,96 +23,95 @@ talosctl upgrade --image ghcr.io/siderolabs/installer:v1.0.0

### System Extensions

System extensions allow extending Talos root filesystem, which enables a set of different features, including custom
container runtimes, additional firmware, etc.
System extensions allow changes to the Talos root filesystem, and can be used to enable different features, including custom
container runtimes, additional firmware, among others.

System extensions are only activated during Talos installation (or upgrade), and with system extensions installed, Talos
root filesystem is still immutable and read-only.
System extensions are only activated during Talos installation (or upgrade).
Even with system extensions installed, the Talos root filesystem is still immutable and read-only.

Please see [extensions repository](https://github.com/talos-systems/extensions) and [documentation]({{< relref "../guides/system-extensions/" >}}) for more information.

### Extension Services

Talos now provides a way to extend set of system services Talos runs with [extension services]({{< relref "../learn-more/extension-services" >}}).
Extension services should be included in the Talos root filesystem (e.g. via system extensions).
Talos now provides a way to extend the system services that Talos runs with [extension services]({{< relref "../learn-more/extension-services" >}}).
Extension services should be included in the Talos root filesystem (i.e. via system extensions).

### Static Pods in the Machine Configuration

Talos now accepts [static pod definitions]({{< relref "../guides/static-pods" >}}) in the `.machine.pods` key of the machine configuration.
Please note that static pod definitions are not validated by Talos.
Static pod definitions can be updated without a node reboot.
Please note that static pod definitions are not validated by Talos, and can be updated without a node reboot.

## Kubernetes

### Kubelet

Kubelet configuration can now be overridden with the `.machine.kubelet.extraConfig` machine configuration field.
As most of the kubelet command line arguments are being deprecated, it is recommended to migrate to `extraConfig`
instead of using `extraArgs`.
in place of using `extraArgs`.

A number of conformance tweaks have been made to the `kubelet` to allow it to run without
`protectKernelDefaults`.
This includes both kubelet configuration options and sysctls.
Of particular note is that Talos now sets the `kernel.panic` reboot interval to 10s instead of 1s.
If your kubelet fails to start after the upgrade, please check the `kubelet` logs to determine the problem.

Talos now performs graceful kubelet shutdown by default on node reboot/shutdown.
Default shutdown timeouts: 20s for regular priority pods and 10s for critical priority pods.
Timeouts can be overridden with the `.machine.kubelet.extraConfig` machine configuration key:
Talos now performing a graceful kubelet shutdown by default on both node shutdown and reboot.
Default shutdown timeouts are 20s for regular priority pods and 10s for critical priority pods.
Timeouts can be overridden with the `.machine.kubelet.extraConfig` machine configuration keys:
`shutdownGracePeriod` and `shutdownGracePeriodCriticalPods`.

### Admission Plugin Configuration

Talos now supports Kubernetes API server admission plugin configuration via the `.cluster.apiServer.admissionControl` machine configuration field.
Talos now supports the Kubernetes API server admission plugin configuration via the `.cluster.apiServer.admissionControl` machine configuration field.

This configuration can be used to enable [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) plugin and
define cluster-wide default [Pod Security Standards](https://kubernetes.io/docs/concepts/security/pod-security-standards/).

### Pod Security Policy

Pod Security Policy Kubernetes feature is deprecated and is going to be removed in Kubernetes 1.25.
Talos by default skips setting up PSP now (see machine configuration `.cluster.apiServer.disablePodSecurityPolicy`).
The Pod Security Policy Kubernetes feature is deprecated and is going to be removed in Kubernetes 1.25.
Talos by default skips setting up PSP with this release (see machine configuration `.cluster.apiServer.disablePodSecurityPolicy`).

### Pinned Kubernetes Version

Command `talosctl gen config` now defaults to Kubernetes version pinning in the generate machine configuration.
Previously default was to omit explicit Kubernetes version, so Talos picked up the default version it was built against.
Command `talosctl gen config` now defaults to Kubernetes version pinning when generating machine configuration.
Previously the default was to omit an explicit Kubernetes version, so Talos picked up the default version it was built against.
Old behavior can be achieved by specifying empty flag value: `--kubernetes-version=`.

### API Server Audit Logs

`kube-apiserver` is now configured to store its audit logs separately from the `kube-apiserver` standard logs and directly to file.
`kube-apiserver` is now configured to store its audit logs separately from the `kube-apiserver` standard logs and log directly to file.
The `kube-apiserver` will maintain the rotation and retirement of these logs, which are stored in `/var/log/audit/`.
Previously, the audit logs were sent to `kube-apiserver`'s `stdout`, along with the rest of its logs, to be collected in the usual manner by Kubernetes.
Previously, the audit logs were sent to the `kube-apiserver` `stdout` (along with the rest of its logs) to be collected in the usual manner by Kubernetes.

## Machine Configuration

Talos now preserves machine configuration byte-by-byte as it was submitted to the node.
Talos now preserves machine configuration byte-for-byte as it was submitted to the node.
This means that custom comments and overall machine configuration structure is now preserved.
This enables automation of machine configuration updates via external autmation.
This allows automation of machine configuration updates via an external mechanism without loss of information.

### Patching Enhancements

`talosctl` commands which accept JSON patches (`gen config`, `cluster create`, `patch machineconfig`) now support multiple patches, loading patches
from files with `@file.json` syntax, and support loading from YAML format.
`talosctl` commands which accept JSON patches (i.e. `gen config`, `cluster create`, `patch machineconfig`) now support multiple patches, loading patches
from files with `@file.json` syntax, as well as support loading patches with a YAML format.

### Apply Config Enhancements

`talosctl apply/patch/edit` cli commands got revamped.
Separate flags `--on-reboot`, `--immediate`, `--interactive` were replaced
with a single `--mode` flag that can take the following values:

- `auto` new mode that automatically applies the configuration in no-reboit/reboot mode based on the change.
- `no-reboot` force apply immediately, if not possible, then fails.
- `reboot` force reboot with apply config.
- `auto` new mode that automatically applies the configuration in no-reboot/reboot mode based on the change.
- `no-reboot` force apply immediately, if that is not possible then it fails.
- `reboot` force reboot with applied config.
- `staged` write new machine configuration to `STATE`, but don't apply it (it will be applied after a reboot).
- `interactive` starts interactive installer, only for `apply`.

## Networking

### Early Boot `bond` Configuration

Talos now supports setting bond interface from the kernel cmdline using the [`bond=` option](https://man7.org/linux/man-pages/man7/dracut.cmdline.7.html)
Talos now supports setting a bond interface from the kernel cmdline using the [`bond=` option](https://man7.org/linux/man-pages/man7/dracut.cmdline.7.html)

## Platforms

Expand All @@ -127,12 +126,12 @@ Talos now supports [Oracle Cloud]({{< relref "../cloud-platforms/oracle" >}}).
### Network Configuration

Platform network configuration was rewritten to avoid modifying Talos machine configuration.
Network configuration is performed independent of the machine configuration presence, so it works
even if Talos is booted in maintenance mode (without machine configuration in the platform userdata).
Network configuration is performed independently of the machine configuration presence, so it works
even if Talos is booted into maintenance mode, and without machine configuration in the platform userdata.

### SBCs

Talos now supports [Jetson Nano SBC]({{< relref "../single-board-computers/jetson_nano" >}}).
Talos has added support for the [Jetson Nano SBC]({{< relref "../single-board-computers/jetson_nano" >}}).

## Component Updates

Expand Down Expand Up @@ -161,6 +160,6 @@ Use machine configuration field `.machine.sysfs` to set `sysfs` kernel parameter

### Wipe System Kernel Parameter

Added new kernel parameter `talos.experimental.wipe=system` which can help resetting system disk for the machine
Talos added a new kernel parameter `talos.experimental.wipe=system` which can help resetting the system disk of the machine
and start over with a fresh installation.
See [Resetting a Machine]({{< relref "../guides/resetting-a-machine#kernel-parameter" >}}) on how to use it.

0 comments on commit c41f2b2

Please sign in to comment.