You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Starting with version Talos 1.5, network interfaces are renamed to predictable names
same way as systemd does that in other Linux distributions.
The naming schema enx78e7d1ea46da (based on MAC addresses) is enabled by default, the order of interface naming decisions is:
firmware/BIOS provided index numbers for on-board devices (example: eno1)
firmware/BIOS provided PCI Express hotplug slot index numbers (example: ens1)
physical/geographical location of the connector of the hardware (example: enp2s0)
interfaces's MAC address (example: enx78e7d1ea46da)
The predictable network interface names features can be disabled by specifying net.ifnames=0 in the kernel command line.
Talos automatically adds the net.ifnames=0 kernel argument when upgrading from Talos versions before 1.5.
This change doesn't affect "cloud" platforms, like AWS, as Talos automatically adds net.ifnames=0 to the kernel command line.
Network KMS Disk Encryption
Talos now supports new type of encryption keys which are sealed/unsealed with an external KMS server:
gRPC API definitions and a simple reference implementation of the KMS server can be found in this repository.
KubePrism - Kubernetes API Server In-Cluster Load Balancer
Talos now supports configuring the KubePrism - Kubernetes API Server in-cluster load balancer with machine config features.kubePrism.port and features.kubePrism.enabled fields.
If enabled, KubePrism binds to localhost and runs on the same port on every machine in the cluster.
The default value for KubePrism endpoint is https://localhost:7445.
The KubePrism is used by the kubelet, kube-scheduler, kube-controller-manager
and kube-proxy by default and can be passed to the CNIs like Cilium and Calico.
The KubePrism provides access to the Kubernetes API endpoint even if the external loadbalancer
is not healthy, provided that the worker nodes can reach to the controlplane machine addresses directly.
Machine Config option .machine.install.bootloader
The .machine.install.bootloader option in the machine config is deprecated and will be removed in Talos 1.6.
This was a no-op for a long time. The bootloader is always installed.
XFS Quota
Talos 1.5+ enables XFS project quota support by default, also enabling by default
kubelet feature gate LocalStorageCapacityIsolationFSQuotaMonitoring to use xfs quotas
to monitor volume usage instead of du.
This feature is controlled by the .machine.features.diskQuotaSupport field in the machine config,
it is set to true for new clusters.
When upgrading from a previous version, the feature can be enabled by setting the field to true.
On the first mount of a volume, the quota information will be recalculated, which may take some time.
RDMA/RoCE support
Talos no longer loads by default rdma_rxe Linux driver, which is required for RoCE support.
If the driver is required, it can be enabled by specifying rdma_rxe in the .machine.kernel.modules field in the machine config.
SecureBoot
Talos now supports generating a custom iso that can be used with SecureBoot. Key generation and enrolling has to be done manually.
talosctl image Command
A new set of commands was introduced to manage container images in the CRI:
talosctl image list shows list of available images
talosctl image pull allows to pre-pull an image into the CRI
Both new commands accept --namespace flag with two possible values:
cri (default): images managed by the CRI (Kubernetes workloads)
system: images managed by Talos (etcd and kubelet)
### `talosctl images` Command
The command `talosctl images` was renamed to `talosctl image default`.
The backward-compatible alias is kept in Talos 1.5, but it will be dropped in Talos 1.6.
### TPM Disk Encryption
Talos now supports encrypting STATE/EPHEMERAL with keys bound to a TPM device. The TPM device must be TPM2.0 compatible.
This is ideally supported when booting with new Talos SecureBoot UKI ISOs/Metal images. This feature would still work if SecureBoot
is not enabled for UKI images, but not recommended since there is no way to verify the trust of the bootloader.
Example machine config:
<hr /><em>This discussion was created from the release <a href='https://github.com/siderolabs/talos/releases/tag/v1.5.0-alpha.3'>v1.5.0-alpha.3</a>.</em>
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Talos 1.5.0-alpha.3 (2023-07-25)
Welcome to the v1.5.0-alpha.3 release of Talos!
This is a pre-release of Talos
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
Extension Services
Talos now supports setting
environmentFile
for an extension service container spec. Refer: https://www.talos.dev/v1.5/advanced/extension-services/#containerThe extension waits for the file to be present before starting the service.
Predictable Network Interface Names
Starting with version Talos 1.5, network interfaces are renamed to predictable names
same way as
systemd
does that in other Linux distributions.The naming schema
enx78e7d1ea46da
(based on MAC addresses) is enabled by default, the order of interface naming decisions is:eno1
)ens1
)enp2s0
)enx78e7d1ea46da
)The predictable network interface names features can be disabled by specifying
net.ifnames=0
in the kernel command line.Talos automatically adds the
net.ifnames=0
kernel argument when upgrading from Talos versions before 1.5.This change doesn't affect "cloud" platforms, like AWS, as Talos automatically adds
net.ifnames=0
to the kernel command line.Network KMS Disk Encryption
Talos now supports new type of encryption keys which are sealed/unsealed with an external KMS server:
gRPC API definitions and a simple reference implementation of the KMS server can be found in this
repository.
KubePrism - Kubernetes API Server In-Cluster Load Balancer
Talos now supports configuring the KubePrism - Kubernetes API Server in-cluster load balancer with machine config
features.kubePrism.port
andfeatures.kubePrism.enabled
fields.If enabled, KubePrism binds to
localhost
and runs on the same port on every machine in the cluster.The default value for KubePrism endpoint is https://localhost:7445.
The KubePrism is used by the
kubelet
,kube-scheduler
,kube-controller-manager
and
kube-proxy
by default and can be passed to the CNIs like Cilium and Calico.The KubePrism provides access to the Kubernetes API endpoint even if the external loadbalancer
is not healthy, provided that the worker nodes can reach to the controlplane machine addresses directly.
Machine Config option
.machine.install.bootloader
The
.machine.install.bootloader
option in the machine config is deprecated and will be removed in Talos 1.6.This was a no-op for a long time. The bootloader is always installed.
XFS Quota
Talos 1.5+ enables XFS project quota support by default, also enabling by default
kubelet feature gate
LocalStorageCapacityIsolationFSQuotaMonitoring
to use xfs quotasto monitor volume usage instead of
du
.This feature is controlled by the
.machine.features.diskQuotaSupport
field in the machine config,it is set to true for new clusters.
When upgrading from a previous version, the feature can be enabled by setting the field to true.
On the first mount of a volume, the quota information will be recalculated, which may take some time.
RDMA/RoCE support
Talos no longer loads by default
rdma_rxe
Linux driver, which is required for RoCE support.If the driver is required, it can be enabled by specifying
rdma_rxe
in the.machine.kernel.modules
field in the machine config.SecureBoot
Talos now supports generating a custom iso that can be used with SecureBoot. Key generation and enrolling has to be done manually.
talosctl image
CommandA new set of commands was introduced to manage container images in the CRI:
talosctl image list
shows list of available imagestalosctl image pull
allows to pre-pull an image into the CRIBoth new commands accept
--namespace
flag with two possible values:cri
(default): images managed by the CRI (Kubernetes workloads)system
: images managed by Talos (etcd
andkubelet
)systemDiskEncryption:
ephemeral:
keys:
- slot: 0
tpm: {}
state:
keys:
- slot: 0
tpm: {}
ghcr.io/siderolabs/flannel:v0.22.0
ghcr.io/siderolabs/install-cni:v1.5.0-alpha.0-2-gf415aac
registry.k8s.io/coredns/coredns:v1.10.1
gcr.io/etcd-development/etcd:v3.5.9
registry.k8s.io/kube-apiserver:v1.28.0-beta.0
registry.k8s.io/kube-controller-manager:v1.28.0-beta.0
registry.k8s.io/kube-scheduler:v1.28.0-beta.0
registry.k8s.io/kube-proxy:v1.28.0-beta.0
ghcr.io/siderolabs/kubelet:v1.28.0-beta.0
ghcr.io/siderolabs/installer:v1.5.0-alpha.3
registry.k8s.io/pause:3.6
Beta Was this translation helpful? Give feedback.
All reactions