Commit Graph

20 Commits

Author SHA1 Message Date
Alexey Palazhchenko
e60469a38c
feat: initial support for JSON logging
Hook into logging machinery.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-16 16:46:59 +00:00
Andrew Rynhard
2ba0e0ac4a
docs: add KubeSpan documentation
This adds a guide on how to use KubeSpan and a deep dive in the "Learn
More" section.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2021-10-11 19:49:19 -07:00
Alexey Palazhchenko
facc8c38a0
docs: fix documentation for cluster discovery
Use the real value in an example.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-06 08:08:19 +00:00
Andrey Smirnov
5e41dd4a65
feat: add an option to configure kubelet node IP based on subnets
Fixes #4243

The idea is to make sure kubelet picks node IP based on filtering by
CIDRs of the node's addresses. The flow is simple - every address is
filtered by subnet and picked if it matches the subnet.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-01 15:28:09 +03:00
Spencer Smith
0e0fb68478
release(v0.13.0-alpha.3): prepare release
This is the official v0.13.0-alpha.3 release.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2021-09-29 18:24:30 -04:00
Andrey Smirnov
9a51aa8358
feat: add an option to skip downed peers in KubeSpan
Fixes #4248

This resolves the balance between security and connectivity.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-29 23:06:14 +03:00
Andrey Smirnov
9c67fde759
release(v0.13.0-alpha.2): prepare release
This is the official v0.13.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-28 22:36:17 +03:00
Serge Logvinov
ba27bc366f
feat: implement Hetzner Cloud support for virtual (shared) IP
Talos supports automatic virtual IP for the control plane with pure
layer 2 connectivity. Hetzner Cloud API supports assigning Floating IPs
to the nodes, this PR combines existing virtual IP functionality with calls
to HCloud API to move the IP address on HCloud side to the leader node.

The only thing which should be supplied in the machine configuration is
the Hetzner Cloud API token, every other setting is automatically
discovered by Talos.

Talos supports two types of floating IPs:
* external Floating IP for external network
* server alias IP for local networks

The controlplane can have only one alias on the local network interface.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-27 23:45:46 +03:00
Andrey Smirnov
b450b7cef0
chore: deprecate Interfaces and Routes APIs
Fixes #4094

Deprecate old networkd APIs, `talosctl interfaces` and `talosctl routes`
now suggest different commands to be used to achieve same task.

TUI installer was updated to stop using Interfaces API.

Those APIs will be completely removed in 0.14.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-27 15:21:02 +03:00
Andrey Smirnov
2b5204200a
feat: enable resource API in the maintenance mode
This basically provides `talosctl get --insecure` in maintenance mode.
Only non-sensitive resources are available (equivalent to having
`os:reader` role in the Talos client certificate).

Changes:

* refactored insecure/maintenance client setup in talosctl
* `LinkStatus` is no longer sensitive as it shows only Wireguard public
key, `LinkSpec` still contains private key for obvious reasons
* maintenance mode injects `os:reader` role implicitly

The motivation behind this PR is to deprecate networkd-era interfaces &
routes APIs which are being used in TUI installer, and we need a
replacement.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-22 21:36:34 +03:00
Andrey Smirnov
b27c75b30f
release(v0.13.0-alpha.1): prepare release
This is the official v0.13.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-20 19:51:07 +03:00
Andrey Smirnov
9d803d75bf
chore: bump dependencies and drop firecracker support
Note: Talos can be still run under `Firecracker`, support for
Firecracker was only removed for `talosctl cluster create`.

Reason:

* code is untested/unmaintained, and probably doesn't work correctly
* firecracker Go SDK pulls lots of dependencies and it blocks CNI Go
module update

Bonus: `talosctl-linux-amd64` shrinks by 2 MiB.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-20 17:13:34 +03:00
Andrey Smirnov
fdd80a1234
feat: add an option to continue booting on NTP timeout
Fixes #4224

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-16 21:34:17 +03:00
Andrey Smirnov
d943bb0e28
feat: update Kubernetes to 1.22.2
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.22.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-16 13:59:51 +03:00
Andrey Smirnov
7c5045bd92
release(v0.13.0-alpha.0): prepare release
This is the official v0.13.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-13 17:21:19 +03:00
Andrew Rynhard
82b130e789
docs: document required options for extraMounts
Clarifies that either `bind` or `rbind` are required in the Kubelet's
`extraMounts`.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2021-09-06 16:27:30 +03:00
Andrew Rynhard
668627d5b8
feat: add subnet filter for etcd address
This adds the ability to specify the subnet that `etcd`'s listen address
should be in. This allows users to ensure that `etcd` is on a private
subnet.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2021-08-30 19:49:24 +00:00
Andrey Smirnov
caee24bf61
feat: implement KubeSpan identity controller
Fixes #4138

When KubeSpan is enabled, Talos automatically generates or loads
KubeSpan identity which consists of Wireguard key pair. ULA address is
calculated based on ClusterID and first NIC MAC address.

Some code was borrowed from #3577.

Example:

```
$ talosctl -n 172.20.0.2 get ksi
NODE         NAMESPACE   TYPE               ID      VERSION   ADDRESS                                       PUBLICKEY
172.20.0.2   kubespan    KubeSpanIdentity   local   1         fd71:6e1d:86be:6302:e871:1bff:feb2:ccee/128   Oak2fBEWngBhwslBxDVgnRNHXs88OAp4kjroSX0uqUE=
```

Additional changes:

* `--with-kubespan` flag for `talosctl cluster create` for quick testing
* validate that cluster discovery (and KubeSpan) requires ClusterID and
ClusterSecret.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
Signed-off-by: Seán C McCord <ulexus@gmail.com>
Co-authored-by: Seán C McCord <ulexus@gmail.com>
2021-08-27 18:49:15 +03:00
Andrey Smirnov
761ccaf323
feat: provide machine configuration for KubeSpan and cluster discovery
Fixes #4131

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-26 22:55:56 +03:00
Andrey Smirnov
c9af8f7ff1
docs: fork docs for 0.13
s/0.12/0.13/ mostly

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-25 21:43:05 +03:00