Skip to content

v0.10.3

Compare
Choose a tag to compare
@talos-bot talos-bot released this 20 May 21:36

Talos 0.10.3 (2021-05-20)

Welcome to the v0.10.3 release of Talos!

Please try out the release binaries and report any issues at
https://github.com/talos-systems/talos/issues.

Disaster Recovery

  • support for creating etcd snapshots (backups) with talosctl etcd snapshot command.
  • etcd cluster can be recovered from a snapshot using talosctl boostrap --recover-from= command.

Install Disk Selector

Install section of the machine config now has diskSelector field that allows querying install disk using the list of qualifiers:

...
  install:
    diskSelector:
      size: >= 500GB
      model: WDC*
...

talosctl disks -n <node> -i can be used to check allowed disk qualifiers when the node is running in the maintenance mode.

Inline Kubernetes Manifests

  • boostrap manifests can now be submitted in the configuration body using the cluster.inlineManifests field.

Optmizations

  • Talos system services now run without container images on initramfs from the single executable; this change reduces RAM usage, initramfs size and boot time..

SBCs

  • u-boot version was updated to fix the boot and USB issues on Raspberry Pi 4 8GiB version.
  • added support for Rock Pi 4.

Time Synchronization

  • timed service was replaced with a time sync controller, no machine configuration changes.
  • Talos now prefers last successful time server (by IP address) on each sync attempt (improves sync accuracy).

Contributors

  • Andrey Smirnov
  • Alexey Palazhchenko
  • Artem Chernyshev
  • Spencer Smith
  • Seán C McCord
  • Andrew Rynhard
  • Jorik Jonker
  • Branden Cash
  • Brandon McNama
  • Brandon Nason
  • Jorik Jonker
  • Lennard Klein
  • Matt Zahorik
  • bzub

Changes

153 commits

  • 828772cec release(v0.10.3): prepare release
  • 70ee15b79 fix: stop networkd and pods before leaving etcd on upgrade
  • 1e9496b80 fix: properly populate AllowSchedulingOnMasters option in gen config RPC
  • 166618b21 feat: update containerd to 1.4.6, runc to 1.0.0-rc95
  • 8d73bc599 release(v0.10.2): prepare release
  • 20ad263b4 feat: update Kubernetes to 1.21.1
  • 4941356f4 feat: update go-smbios library
  • 747903a10 fix: stop networkd before leaving etcd on 'reset' path
  • 6fd98d95b fix: update the way NTP sync uses adjtimex syscall
  • f1298f6e3 fix: avoid data race on CRI pod stop
  • 994bdb5af feat: update containerd to 1.4.5, runc to 1.0.0-rc94
  • d0a3d69d5 release(v0.10.1): prepare release
  • 99de689d0 feat: pull kernel with VMware balloon module enabled
  • 194baa3d6 fix: properly parse matcher expressions
  • c613d3e22 fix: bump crypto library for the CSR verification fix
  • 25fa7a191 chore: remove security API ReadFile/WriteFile
  • e415c81ad feat: add --config-patch flag by node type
  • 801808c54 fix: use both self-signed and Kubernetes CA to verify Kubelet cert
  • 905336940 release(v0.10.0): prepare release
  • 280b5940c fix: update osType in OVA other3xLinux64Guest"
  • b338628dc fix: check if OVF env is empty
  • 4e664ce17 chore: list specifically for enabled regions
  • c07b5152a release(v0.10.0-beta.1): prepare release
  • e1475256e test: implement talosctl conformance command to run e2e tests
  • 564b45ba2 fix: update etcd client errors, print etcd join failures
  • 9fde88cc4 feat: provide an option to recover etcd from data directory copy
  • 54f243c46 feat: update kernel config for rpi to improve performance by 3x
  • 8ed75c84a release(v0.10.0-beta.0): prepare release
  • e69732ed5 feat: provide Talos machine config with field placeholders and docs
  • f0970ea7f fix: zero out manifest contents before setting new value
  • 8b8542e3b feat: add support for reading OVF data on VMWare
  • 04dbafca7 feat: update Linux to 5.10.29
  • 3dc7b8a8a chore: fix import path mismerge
  • 2402f20c2 feat: implement inline manifests in the machine configuration
  • e26c977d8 fix: check retryable network errors by interface
  • 767f3b95e chore: apply coverage analysis to all packages
  • 7b0ac4682 test: extend unit-tests for config contract parsing
  • d24df8f84 chore: re-import talos-systems/os-runtime as cosi-project/runtime
  • cae25909f chore: use Go 1.16 global install command
  • d5e2a45db feat: validate the machine configuration in the installer container
  • ef24fd6a0 chore: bump dependencies via dependabot
  • 94520b03f docs: fixup typo in encryption guide command
  • e3585f24b chore: update Linux to 5.10.28, u-boot to final 2021.04 release
  • daf220874 test: update upgrade tests to 0.10 release
  • 1fcf38f9d feat: add support for "none" CNI type
  • 37a5edf04 feat: update Kubernetes to 1.21.0 release
  • 30f687b41 fix: document HDMI problem on RPi 4
  • 29da22d06 feat: add config validation warnings
  • eee7ad13a release(v0.10.0-alpha.2): prepare release
  • e0650218a feat: support etcd recovery from snapshot on bootstrap
  • 247bd50e0 docs: describe steps to install and boot Talos from the SSD on rockpi4
  • e6b4e524f test: update CAPA to 0.6.4
  • 28753f6dc fix: trim endpoints/nodes from arguments in talosctl config
  • aca63b882 docs: fix "DigitalOcean" spelling
  • 33035901f fix: revert mark PMBR EFI partition as bootable
  • fbfd1eb2b refactor: pull new version of os-runtime, update code
  • 8737ea716 feat: allow external cloud provides configration
  • 3909e2d01 chore: update Go to 1.16.3
  • 690eb20e9 chore: update blockdevice library for PMBR bootable fix
  • a8761b8e1 fix: require leader on etcd member operations
  • 3dc84625c fix: make both HDMI ports work on RPi 4
  • bd5ae1e0b fix: add a check for overlay mounts in installer pre-flight checks
  • df8649cbe refactor: download modules before go generate
  • 39ae0415e chore: bump dependencies via dependabot
  • e16d6d346 fix: publish rockpi4 image to release artifacts
  • 39c6dbcc7 feat: add --config-patch parameter to talosctl gen config
  • e664362ce feat: add API and command to save etcd snapshot (backup)
  • 61b694b94 fix: create rootfs for system services via /system tmpfs
  • abc2e17eb test: update 0.9.x version in upgrade tests to 0.9.1
  • a1e641540 fix: retry Kubernetes API errors on cordon/uncordon/etc
  • 063d1abe9 fix: print task failure error immediately
  • e039172ed fix: ignore EOF errors from Kubernetes API when converting control plane
  • 7bcb91a43 docs: fix typo for stage flag
  • a43acb215 feat: bring in Linux 5.10.27, support for 32-bit time syscalls
  • e2bb5973d release(v0.10.0-alpha.1): prepare release
  • 8309312a3 chore: build components with race detector enabled in dev mode
  • 7d9125847 test: fix data race in apply config tests
  • 204caf8eb test: fix apply-config integration test, bump clusterctl version
  • d812099df fix: address several issues in TUI installer
  • 269c9ad09 fix: don't write to config object on access
  • a9451f571 feat: update Kubernetes to 1.21.0-beta.1
  • 4b42ced4c feat: add ability to disable comments in talosctl gen config
  • a0dcfc3d5 fix: workaround race in containerd runner with stdin pipe
  • 2ea20f598 feat: replace timed with time sync controller
  • c38a161ad test: add unit-test for machine config validation
  • a6106815b chore: bump dependencies via dependabot
  • 35598f391 chore: refactor: extract ClusterConfig
  • 032851844 fix: get rid of data race in encoder and fix concurrent map access
  • 4b3580aa5 fix: prevent panic in validate config if machine.install is missing
  • d7e9f6d6a chore: build integration tests with -race
  • 9f7d67ac7 chore: fix typo
  • 672c97073 fix: allow convert-k8s --remove-initialized-keys with K8s cp is down
  • fb605a0fc chore: tweak nolintlint settings
  • 1f5a0c406 fix: resolve the issue with Kubernetes upgrade
  • 74b2b5578 docs: update AWS docs to ensure instances are tagged
  • dc21d9b4b chore: remove old file
  • 966caf7a6 chore: remove unused module replace directives
  • 98b22f1e0 feat: show short options in talosctl kubeconfig
  • 51139d54d chore: cache go modules in the build
  • 65701aa72 fix: resolve the issue with DHCP lease not being renewed
  • 711f5b23b fix: config validation: CNI should apply to cp nodes, encryption config
  • 5ff491d96 fix: allow empty list for CNI URLs
  • 946e74f04 docs: update path for kernel downloads in qemu docs
  • ed272e604 feat: update Kubernetes to 1.21.0-beta.0
  • b0209fd29 refactor: move networkd, timed APIs to machined, remove routerd
  • 6ffabe516 feat: add ability to find disk by disk properties
  • ac8764702 refactor: move apid, routerd, timed and trustd to single executable
  • 89a4b09fe refactor: run networkd as a goroutine in machined
  • f4a6a19cd chore: update sonobuoy
  • dc294db16 chore: bump dependencies via dependabot
  • 2b1641a3b docs: add AMIs for Talos 0.9.0
  • 79ceb428d docs: make v0.9 the default docs
  • a5b62f4dc docs: add documentation for Talos 0.10
  • ce795f1ce fix: command etcd remove-member shouldn't remove etcd data directory
  • aab49a167 fix: repair zsh completion
  • fc9c416a3 fix: build rockpi4 metal image as part of CI build
  • 125b86f4e fix: upgrade-k8s bug with empty config values and provision script
  • 8b2d228dc chore: add script for starting registry proxies
  • f7d276b85 chore: remove old osctl reference
  • 5b14d6f2b chore: fix make help output
  • f0512dfce feat: update Kubernetes to 1.20.5
  • 24cd0a206 feat: publish talosctl container image
  • 6e17102c2 chore: remove unused code
  • 881044074 docs: add control plane in-depth guide
  • ecf034496 chore: bump Go to 1.16.2
  • cbc38418d release(v0.10.0-alpha.0): prepare release
  • 3455a8e81 chore: use new release tool for changelogs and release notes
  • 08271ba93 chore: use Go 1.16 language version
  • 7662d033b fix: talosctl health should not check kube-proxy when it is disabled
  • 0dbaeb9e6 chore: update tools, use new generators
  • e31790f6f fix: properly format spec comments in the resources
  • 78d384ebb test: update aws cloud provider version
  • 3c5bfbb47 fix: don't touch any partitions on upgrade with --preserve
  • 891f90fee chore: update Linux to 5.10.23
  • d4d77882e chore: update dependencies via dependabot
  • 2e22f20bd docs: minor fixes to getting started
  • ca8a5596c chore: fix provision tests after changes to build-container
  • 4aae924c6 refactor: provide explicit logger for networkd
  • 22f375300 chore: update golanci-lint to 1.38.0
  • 83b4e7f74 feat: add Rock pi 4 support
  • 1362966ff docs: rewrite getting-started for ISO
  • 8e57fc4f5 fix: move containerd CRI config files under /var/
  • 6f7df3da1 fix: update output of convert-k8s command
  • dce6118c2 docs: add guide for VIP
  • ee5d9ffac chore: bump Go to 1.16.1
  • 7c529e1cb docs: fix links in the documentation
  • f596c7f6b docs: add video for raspberry pi install
  • 47324dcae docs: add guide on editing machine configuration
  • 99d5f894e chore: update website npm dependencies
  • 11056a803 docs: add highlights for 0.9 release
  • ae8bedb9a docs: add control plane conversion guide and 0.9 upgrade notes
  • ed9673e50 docs: add troubleshooting control plane documentation
  • 485cb1262 docs: update Kubernetes upgrade guide

Changes since v0.10.2

4 commits

  • 828772cec release(v0.10.3): prepare release
  • 70ee15b79 fix: stop networkd and pods before leaving etcd on upgrade
  • 1e9496b80 fix: properly populate AllowSchedulingOnMasters option in gen config RPC
  • 166618b21 feat: update containerd to 1.4.6, runc to 1.0.0-rc95

Changes from talos-systems/crypto

1 commit

  • 4f80b97 fix: verify CSR signature before issuing a certificate

Changes from talos-systems/extras

4 commits

  • d39dc41 chore: use 0.5.0 tagged images of pkgs and tools
  • cf3934a feat: build with Go 1.16.3
  • c0fa0c0 feat: bump Go to 1.16.2
  • 5f89d77 feat: bump Go to 1.16.1

Changes from talos-systems/go-blockdevice

3 commits

  • 1d830a2 fix: revert mark the EFI partition in PMBR as bootable
  • bec914f fix: mark the EFI partition in PMBR as bootable
  • 776b37d feat: add options to probe disk by various sysblock parameters

Changes from talos-systems/go-smbios

1 commit

  • d3a32be fix: return UUID in middle endian only on SMBIOS >= 2.6

Changes from talos-systems/pkgs

17 commits

  • 2f9eccf feat: update containerd to 1.4.6
  • d63b9ac feat: update runc to 1.0.0-rc95
  • 80ebaa7 feat: update containerd to 1.4.5, runc to 1.0.0-rc94
  • 6b85f48 feat: enable VMware baloon kernel module
  • 5dd650b feat: add cpu scaling for rpi
  • b636cac feat: update Linux to 5.10.29
  • cd77b6e chore: update tools tag to v0.5.0
  • 98964cb feat: update Linux to 5.10.28
  • 009ef35 feat: update uboot to 2021.04 stable
  • 9a6cf6b feat: build with Go 1.16.3
  • 60ce626 feat: update Linux to 5.10.27, enable 32-bit time syscalls
  • fdf4866 feat: bump tools for Go 1.16.2
  • 35f9b6f feat: update kernel to 5.10.23
  • dbae83e fix: do not use git-lfs for rockpi4 binaries
  • 1c6b9a3 feat: bump tools for Go 1.16.1
  • c18073f feat: add u-boot for Rock Pi 4
  • 6b85a2b feat: upgrade u-boot to 2021.04-rc3

Changes from talos-systems/tools

5 commits

  • 1f26def feat: update Go to 1.16.3
  • 41b8073 feat: bump protobuf-related tools
  • f7bce92 chore: bump Go to 1.16.2
  • bcf3380 feat: bump protobuf deps, add protoc-gen-go-grpc
  • b49c40e feat: bump Go to 1.16.1

Dependency Changes

  • github.com/containerd/containerd v1.4.4 -> v1.4.6
  • github.com/coreos/go-semver v0.3.0 new
  • github.com/cosi-project/runtime 10d6103c19ab new
  • github.com/golang/protobuf v1.4.3 -> v1.5.2
  • github.com/google/go-cmp v0.5.4 -> v0.5.5
  • github.com/hashicorp/go-multierror v1.1.0 -> v1.1.1
  • github.com/talos-systems/crypto 39584f1b6e54 -> 4f80b976b640
  • github.com/talos-systems/extras v0.2.0-1-g0db3328 -> v0.3.0
  • github.com/talos-systems/go-blockdevice bb3ad73f6983 -> 1d830a25f64f
  • github.com/talos-systems/go-smbios fb425d4727e6 -> d3a32bea731a
  • github.com/talos-systems/pkgs v0.4.1-2-gd471b60 -> v0.5.0-5-g2f9eccf
  • github.com/talos-systems/tools v0.4.0-1-g3b25a7e -> v0.5.0
  • github.com/vmware/govmomi v0.24.0 new
  • go.etcd.io/etcd/etcdctl/v3 v3.5.0-alpha.0 new
  • google.golang.org/grpc v1.36.0 -> v1.37.0
  • google.golang.org/protobuf v1.25.0 -> v1.26.0
  • k8s.io/api v0.20.5 -> v0.21.0
  • k8s.io/apimachinery v0.20.5 -> v0.21.0
  • k8s.io/apiserver v0.20.5 -> v0.21.0
  • k8s.io/client-go v0.20.5 -> v0.21.0
  • k8s.io/cri-api v0.20.5 -> v0.21.0
  • k8s.io/kubectl v0.20.5 -> v0.21.0
  • k8s.io/kubelet v0.20.5 -> v0.21.0

Previous release can be found at v0.9.0

Images

quay.io/coreos/flannel:v0.13.0
ghcr.io/talos-systems/install-cni:v0.3.0
docker.io/coredns/coredns:1.8.0
gcr.io/etcd-development/etcd:v3.4.15
k8s.gcr.io/kube-apiserver:v1.21.1
k8s.gcr.io/kube-controller-manager:v1.21.1
k8s.gcr.io/kube-scheduler:v1.21.1
k8s.gcr.io/kube-proxy:v1.21.1
ghcr.io/talos-systems/kubelet:v1.21.1
ghcr.io/talos-systems/installer:v0.10.3
k8s.gcr.io/pause:3.2