Commit Graph

5 Commits

Author SHA1 Message Date
Guillermo Gaston
ae307f8cad Add leader election using etcd as a backend
This adds a new leader election mode that instead of using the kube api
server to obtain a lease, it relies solely on etcd.

By removing the dependency on the api server, we can use it even before
the api server is up, before cluster creation.

In an external etcd topology, this way we can make the api server point
to the VIPs instead of to the etcd machines IPs. This configuration
isolates the CP configuration from the etcd machine IPS. It's is super
convenient to avoid having to roll new control plane nodes when the etcd
nodes change.

Signed-off-by: Guillermo Gaston <gaslor@amazon.com>
2023-10-06 17:03:03 +00:00
Guillermo Gaston
72410cc6f7 Enable unit and e2e tests in CI
* Fix 2 broken tests
* Fix e2e ARP tests: killing one node in a 2 CP node cluster makes etcd
  lose quorum. So it can't elect a new leader if the node we happen to
  kill was the etcd leader.
* Separate unit tests, e2e tests, linter and scans in different jobs so
  they run concurrently.

Signed-off-by: Guillermo Gaston <gaslor@amazon.com>
2023-10-03 22:00:09 +00:00
Mario Trangoni
99e9579de5 Ignore kube-vip binary
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2023-09-14 11:07:47 +02:00
yaocw2020
c81c8c1865 support changing the VIP of services
- Support changing the VIP of services
- Refactory the manager.syncServices to improve code readability

Signed-off-by: yaocw2020 <yaocanwu@gmail.com>
2022-03-29 00:23:13 +08:00
Steve Sloka
9b65c1e63c Refactor the Kubernetes client generation into a single place inside a new k8s package.
Signed-off-by: Steve Sloka <slokas@vmware.com>
2021-10-25 15:30:23 -04:00