mirror of
https://github.com/siderolabs/talos.git
synced 2025-12-25 19:31:20 +01:00
With the last changes, `kube-apiserver` certificates are generated based on the assigned `NodeAdresses`, machine configuration, etc. Whenver the certificate is regenerated, `kube-apiserver` is reloaded to pick up the new cert. With Virtual IP enabled, Virtual IP address is included into the certificate from the beginning as it is specified in the machine configuration, but as virtual IP moves between the nodes this causes `NodeAddresses` update, which triggers the controller, generates new certs and reloads `kube-apiserver` at bad time (right after VIP got moved). Even though the cert generated is identical to the previous one, the API server reload makes it unavailable for 30-90 seconds. This change extracts `CertSANs` as a separate resource so that its updates are suppressed if the CertSANs sources change, but the final list stays the same, and in turn prevents final certificate from being updated. Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>