Commit Graph

64 Commits

Author SHA1 Message Date
Artem Chernyshev
a50747a64a
fix: align list and diskusage command flags with their Linux analogs
Fixes: https://github.com/talos-systems/talos/issues/3018

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-03-02 22:27:56 +03:00
Andrey Smirnov
09efa62f68
chore: re-enable kexec and default to UEFI booting in tests
Fixes #4947

It turns out there's something related to boot process in BIOS mode
which leads to initramfs corruption on later `kexec`.

Booting via GRUB is always successful.

Problem with kexec was confirmed with:

* direct boot via QEMU
* QEMU boot via iPXE (bundled with QEMU)

The root cause is not known, but the only visible difference is the
placement of RAMDISK with UEFI and BIOS boots:

```
[    0.005508] RAMDISK: [mem 0x312dd000-0x34965fff]
```

or:

```
[    0.003821] RAMDISK: [mem 0x711aa000-0x747a7fff]
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-02 21:52:18 +03:00
Andrey Smirnov
7ddc7f6053
feat: support specifying env vars for control plane pods
Fixes #5055

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-01 22:51:57 +03:00
Noel Georgi
7c1924a3ae
docs: update cilium docs
Update cilium docs to reflect using K8s IPAM mode

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-03-02 00:41:13 +05:30
Andrey Smirnov
f81fb9f7cf
feat: implement sysfs
Fixes: https://github.com/talos-systems/talos/issues/4703

Co-authored-by: Dmitriy Matrenichev <lepage+gh@protonmail.com>
Co-authored-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-02-28 17:51:02 +03:00
Andrey Smirnov
eb40b9254f
feat: add a way to override kubelet configuration via machine config
Fixes #4629

Note: some fields are enforced by Talos and are not overridable.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-25 17:39:01 +03:00
Noel Georgi
dc23715478
chore: update packet to equinix
Update `packet` to `equinix` for `talos.platform` kernel argument

Fixes: #5010

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-02-25 00:50:02 +05:30
Andrey Smirnov
7917b1aca0
feat: support admission control configuration and Pod Security admission
Fixes #5003

This implements a way to configure API server admission plugins via
Talos machine configuration.

If Pod Security admission is enabled, default cluster-wide policy is
generated which enforces baseline policy.

Policy can be overridden per-namespace.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-24 16:18:15 +03:00
Serge Logvinov
45feb72a47
feat: fluent-bit example
Second way to collect talos and pod logs in the cluster.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-24 15:48:35 +03:00
Spencer Smith
9b0b5501dd
docs: add katacoda link
This PR adds the katacoda tutorial to our quickstart

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2022-02-23 20:18:40 -05:00
Andrey Smirnov
b2bf3117ff
feat: implement extension services
Fixes #4694

User services run alongside with Talos system services.
Every user service container root filesystem should be already present
in the Talos root filesystem.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-22 23:11:20 +03:00
Noel Georgi
1800b4c707
chore: fix kernel reference errata
Fix kernel `ip=` errata

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-02-22 18:48:53 +05:30
Seán C McCord
28c3b495da
docs: updates to troubleshooting doc
Updated wording, added some cross references, and generally updated the
controlplane troubleshooting document.

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2022-02-21 12:04:29 -05:00
Jori Huisman
f40b480bdd
chore: expand Cilium deployment docs
Expanded Cilium deployment documentation

Co-authored-by: Noel Georgi <git@frezbo.dev>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-02-19 10:34:36 +05:30
Seán C McCord
3ba8eb00d3
docs: design concepts page
Added some commonly-misunderstood concepts about Talos Linux and the operation
thereof.

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2022-02-18 20:56:21 -05:00
Andrey Smirnov
0fe34b3581
feat: update Kubernetes to 1.23.4
See https://github.com/kubernetes/kubernetes/releases/tag/v1.23.4

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-17 23:50:34 +03:00
Andrey Smirnov
00ccaf13fb
feat: update CoreDNS to 1.9.0
See https://github.com/coredns/coredns/blob/master/notes/coredns-1.9.0.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-16 18:12:33 +03:00
Steve Francis
961067e8b3
docs: update getting-started.md
Small fixes for getting started guide.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-16 14:52:48 +03:00
Andrey Smirnov
f1a93d28fb
release(v0.15.0-alpha.2): prepare release
This is the official v0.15.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-11 18:18:31 +03:00
Charlie Haley
fef99892d5
chore: pin kubernetes version to talosctl gen config
Pin talos default k8s version to `talosctl gen config`

Signed-off-by: Charlie Haley <charlie.haley@hotmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-11 16:47:49 +03:00
Andrey Smirnov
47619f8320
docs: update system extensions guide with grammar fixes
Incorporate fixes from Steve: https://github.com/smira/talos/pull/1

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-10 23:38:59 +03:00
Andrey Smirnov
c6bca1b33b
docs: add guide on system extensions
This is very first guide, we can expand it as we get more details.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-10 22:04:36 +03:00
Andrey Smirnov
492b156dab
feat: implement static pods via machine configuration
Fixes #4727

On worker nodes, static pods are injected, but status can't be monitored
by Talos. On control plane nodes full status is available via
`StaticPodStatus`.

Pod definition is left as `Unstructured` in the machine configuration,
and no specific validation is performed to avoid pulling in Kubernetes
libraries into Talos machinery package.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-10 18:37:19 +03:00
Andrey Smirnov
6fadfa8dbc
fix: parse properly IPv6 address in the cmdline ip= arg
Fixes #4953

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-10 16:57:39 +03:00
Andrey Smirnov
54632b1be7
docs: fix developing Talos docs
Port update and replace fish-specific for loop with bash one.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-10 15:12:31 +03:00
Andrey Smirnov
5462f5ed18
feat: update etcd to 3.5.2
See https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-03 17:25:08 +03:00
Steve Francis
f6fa12e536
docs: update upgrading Talos, Kubernetes, and Docker guides
Variety of clarifications.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-03 16:45:18 +03:00
Andrey Smirnov
5484579c1a
feat: allow link scope routes in the machine config
They were supported internally, but never properly exposed in the
machine configuration.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-03 15:08:26 +03:00
Tim Jones
fe40e7b1b3
feat: drain node on shutdown
Cordon & drain a node when the Shutdown message is received.
Also adds a '--force' option to the shutdown command in case the control
plane is unresponsive.

Signed-off-by: Tim Jones <timniverse@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-01 00:06:32 +03:00
Bernard Sébastien
7f0b3aae0a
feat: add multiple config patches, patches from files, YAML support
Include filename content if value begins with @ (see curl for example).

Add multiple config-path option on cmdline to apply them in order.

ex:

```
talosctl-linux-amd64 gen config talos1 https://127.0.0.1:6443 --config-patch-control-plan @cidrs.json --config-patch-worker @sysctls-workders.json --config-path @cluster-name.json
```

Load JSON patch from YAML.

This applies to all commands handling config patches.

Closes: https://github.com/talos-systems/talos/issues/4764

Signed-off-by: Sébastien Bernard <sbernard@nerim.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-31 22:50:46 +03:00
Andrey Smirnov
202290be7b
docs: update Kubernetes upgrade video
Refreshed video with new content.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-31 21:25:43 +03:00
nebulait
1c949335cc
docs: add documentation for Hyper-V
docs: add documentation for creating cluster on Hyper-V
Signed-off-by: nebulait <40148908+nebula-it@users.noreply.github.com>
Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2022-01-28 13:46:28 -05:00
Florian Klink
8b98d8eb39
docs: clarify Filebeat example
As explained in https://github.com/talos-systems/talos/issues/4880#issuecomment-1022656510,
right now the recommended way to push logs to log collectors is by
running a configuring Filebeat in the local cluster, with a DaemonSet
using the host network, and pointing Talos to push logs to an UDP port
on 127.0.0.1.

I updated both v0.14 and v0.15 docs, as it should be more clear for both
versions.

Signed-off-by: Florian Klink <flokli@flokli.de>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-28 16:19:49 +03:00
Andrey Smirnov
74c03120cf
docs: replace Talos upgrades video
This enables new updated video for Talos upgrades.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-27 21:14:44 +03:00
Florian Klink
4245f72d3f
feat: add --extra-uefi-search-paths option
This allows specifying additional paths to look for UEFI firmware.

Signed-off-by: Florian Klink <flokli@flokli.de>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-27 19:55:36 +03:00
Serge Logvinov
7ffeb6c2e2
docs: update oracle cloud example
Simple way to run Talos on Oracle Cloud:
* create network and disable security list
* create tcp load balancer for kube-apiserver and talos-api
* launch the contolplane
* add the workers

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-27 19:16:31 +03:00
Noel Georgi
151c9df091
chore: add CSI tests for e2e-qemu
Add tests for using rook as CSI for e2e-qemu
Allow specifying cpu/memory for workers

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-01-27 20:06:10 +05:30
Artem Chernyshev
ebec5d4a0c
feat: support full disk path in the diskSelector
Fixes: https://github.com/talos-systems/talos/issues/4788

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-01-27 15:23:00 +03:00
Andrey Smirnov
85782faa24
feat: update Kubernetes to 1.23.3
Also bumps some dependencies and updates Talos version we use in the
upgrade tests.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-26 17:59:21 +03:00
Andrey Smirnov
b3c3ef29bd
feat: install system extensions
Fixes #4815

This implements the following steps:

* machine configuration updates
* pulling and unpacking system extension images
* validating, listing system extensions
* re-packing system extensions
* preserving installed extensions in `/etc/extensions.yaml`

Once extension is enabled, raw information can be queried with:

```
$ talosctl -n 172.20.0.2 cat /etc/extensions.yaml
layers:
    - image: 000.ghcr.io-smira-gvisor-c927b54-dirty.sqsh
      metadata:
        name: gvisor
        version: 20220117.0-v1.0.0
        author: Andrew Rynhard
        description: |
            This system extension provides gVisor using containerd's runtime handler.
        compatibility:
            talos:
                version: '> v0.15.0-alpha.1'
```

This was tested with the `gvisor` system extension.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-26 16:24:28 +03:00
Andrey Smirnov
e7379c81b2
release(v0.15.0-alpha.1): prepare release
This is the official v0.15.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-24 16:08:38 +03:00
Andrey Smirnov
4961d6867c
docs: drop talos.interface kernel arg
It's not supported in recent Talos.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-21 15:21:21 +03:00
Andrey Smirnov
d4b8445935
feat: support CRI configuration merging and reimplement registry config
Containerd doesn't support merging plugin configuration from multiple
sources, and Talos has several pieces which configure CRI plugin:
(see https://github.com/containerd/containerd/issues/5837)

* base config
* registry mirror config
* system extensions
* ...

So we implement our own simple way of merging config parts (by simply
concatenating text files) to build a final `cri.toml`.

At the same time containerd migrated to a new format to specify registry
mirror configuration, while old way (via CRI config) is going to be
removed in 1.7.0. New way also allows to apply most of registry
configuration (except for auth) on the fly.

Also, containerd was updated to 1.6.0-rc.0 and runc to 1.1.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-20 23:05:20 +03:00
Andrey Smirnov
f94c8c6e1c
feat: update Kubernetes to 1.23.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.23.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-20 22:12:03 +03:00
Noel Georgi
907f8cbfb8
docs: fix patch flag
Fix the patch flag

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-01-19 22:19:32 +05:30
Andrey Smirnov
caa4344264
docs: add documentation on developing Talos
Target audidence:

* maintainers
* contributors

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-19 18:17:54 +03:00
Noel Georgi
3c0737027b
chore: update release notes
Release notes update from #4819

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-01-18 21:37:03 +05:30
Noel Georgi
6d8bea5d55
feat: jetson nano SoC
Support Jetson Nano SoC

Depends on https://github.com/talos-systems/pkgs/pull/380

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-01-18 20:12:54 +05:30
Andrey Smirnov
1d8955ebe4
feat: update CoreDNS to 1.8.7
Drop the rewrite rule which seems to be causing issues for
`ingress-nginx` when Kubernetes IPv4-only cluster runs in the
IPv6-enabled environment.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-18 17:21:05 +03:00
Andrew Rynhard
4b8e9de599
docs: add guide on adding proprietary kernel modules
Adds a guide on how to create an installer with a customized kernel with
proprietary drivers.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-14 18:46:43 +03:00