Commit Graph

217 Commits (ccb09f627a0556227228429b8744b5e2e84a5992)

Author SHA1 Message Date
Derek Nola ccb09f627a
Delay service readiness until after startuphooks have finished (#5736)
* Move startup hooks wg into a runtime pointer, check before notifying systemd
* Switch default systemd notification to server
* Add 1 sec delay to allow etcd to write to disk
Signed-off-by: Derek Nola <derek.nola@suse.com>
2022-06-16 08:22:42 -07:00
Brad Davidson e7fbd6f18e Use core constants for cert user/group values
Also update cert gen to ensure leaf certs are regenerated if other key fields change.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 99851b0f84)
2022-04-15 11:15:28 -07:00
Brad Davidson 2b39bf2340 Add client certificate authentication support to core Authenticator
This is required to make the websocket tunnel server functional on
etcd-only nodes, and will save some code on the RKE2 side once pulled
through.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit af0b496ef3)
2022-04-15 11:15:28 -07:00
Brad Davidson ba7eb6c121 Redact datastore and etcd snapshot config from serialization
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit e7437d4ad8)
2022-04-15 11:15:28 -07:00
Brad Davidson ee772c1074 Ensure that apiserver ready channel checks re-dial every time
Closing idle connections isn't guaranteed to close out a pooled connection to a
loadbalancer endpoint that has been removed. Instead, ensure that requests used
to wait for the apiserver to become ready aren't reused.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2022-03-23 13:23:29 -07:00
Brad Davidson 7da7a00f8f Move temporary etcd startup into etcd module
Reuse the existing etcd library code to start up the temporary etcd
server for bootstrap reconcile. This allows us to do proper
health-checking of the datastore on startup, including handling of
alarms.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit e4846c92b4)
2022-03-15 18:09:00 -07:00
Brad Davidson f55f09672e Fix adding etcd-only node to existing cluster
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 5014c9e0e8)
2022-03-15 18:09:00 -07:00
Brad Davidson ee4c209df9 Remove unnecessary copies of etcdconfig struct
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit a1b800f0bf)
2022-03-15 18:09:00 -07:00
Brad Davidson a18c38d63d Remove unnecessary copies of runtime struct
Several types contained redundant references to ControlRuntime data. Switch to consistently accessing this via config.Runtime instead.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 2989b8b2c5)
2022-03-15 18:09:00 -07:00
Brian Downs 86559341a4
remove unused code (#5247) 2022-03-09 16:33:16 -07:00
Brian Downs 749d157d87
fix function arg call (#5234) (#5235) 2022-03-09 08:00:06 -07:00
Derek Nola b2222d0f0e
Create encryption hash file if it doesn't exist (#5170)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2022-02-28 09:05:51 -08:00
Brian Downs 343c7ceb6b
add ability to specify etcd snapshot list output format (#5132) (#5181) 2022-02-26 12:29:17 -07:00
Manuel Buil 0d76df93ac Allow svclb pod to enable ipv6 forwarding
Signed-off-by: Manuel Buil <mbuil@suse.com>
2022-01-18 17:38:54 -08:00
Brian Downs 8755fd45f6
[Engine-1.21] Adds the ability to compress etcd snapshots (#4866) (#4958) 2022-01-18 11:08:54 -07:00
Manuel Buil 5d673f4cdd Remove Disables, Skips and DisableKubeProxy from the comparing configs
Signed-off-by: Manuel Buil <mbuil@suse.com>
2021-12-17 18:24:24 +01:00
Manuel Buil b6e176f6a0 Check HA network parameters
Signed-off-by: Manuel Buil <mbuil@suse.com>
2021-12-08 14:42:20 +01:00
Derek Nola e7fe71ea1e
[Engine-1.21] Secrets-encryption rotation (#4656)
* Backport secrets encrypt rotation
* Backport integration fixes for custom etcd args

Signed-off-by: Derek Nola <derek.nola@suse.com>
2021-12-07 21:55:00 -08:00
Chris Kim 381d086cf0
[engine-1.21] Add etcd extra args support for K3s (#4470)
* Add etcd extra args support for K3s

Signed-off-by: Chris Kim <oats87g@gmail.com>

* Add etcd custom argument integration test

Signed-off-by: Chris Kim <oats87g@gmail.com>

* Redux: Enable K3s integration test to run on existing cluster (#3905)

* Made it possible to run int tests on existing cluster

Signed-off-by: dereknola <derek.nola@suse.com>

Signed-off-by: Chris Kim <oats87g@gmail.com>

Co-authored-by: Derek Nola <derek.nola@suse.com>
2021-11-11 19:53:20 -08:00
Brad Davidson 8f82ae0749
Increase agent's apiserver ready timeout (#4456)
Since we now start the server's agent sooner and in the background, we
may need to wait longer than 30 seconds for the apiserver to become
ready on downstream projects such as RKE2.

Since this essentially just serves as an analogue for the server's
apiReady channel, there's little danger in setting it to something
relatively high.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2021-11-11 14:03:30 -07:00
Brad Davidson 718d095ee7 Pass context into all Executor functions
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 199424b608)
2021-11-10 15:33:37 -08:00
Brad Davidson 7364fe8cc6 Replace klog with non-exiting fork
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 29c8b238e5)
2021-11-10 15:33:37 -08:00
Brian Downs 30c7723c03
[Engine-1.21] All bootstrap backport (#4451)
Add ability to reconcile bootstrap data between datastore and disk (#3398)
2021-11-10 16:20:33 -07:00
Luther Monson 14cf963225
Update wrangler to v0.8.5 (#4428)
Required to support apiextensions.v1 as v1beta1 has been deleted. Also
update helm-controller and dynamiclistener to track wrangler versions.

Signed-off-by: Luther Monson <luther.monson@gmail.com>

Co-authored-by: Brad Davidson <brad.davidson@rancher.com>
2021-11-08 19:59:46 -07:00
Brad Davidson 44a5978135 Block scheduler startup on untainted node when using embedded CCM
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 3fe460d080)
2021-10-29 16:43:58 -07:00
Brad Davidson 7d0ecf3ab2 Revert "Backport bootstrap engine 1.21 (#4314)"
This reverts commits
c5a9154538
45c5d78cd7

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2021-10-27 13:46:00 -07:00
Brian Downs 45c5d78cd7
Backport bootstrap engine 1.21 (#4314) 2021-10-25 13:03:30 -07:00
Brad Davidson 1a8bd3156f Add containerd ready channel to delay etcd node join
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 88178ae65e)
2021-10-20 12:35:16 -07:00
Brad Davidson 36332c8cfe Pass context in to embedded etcd so that it can be stopped
Partial cherry-pick from 29c8b238e5

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2021-10-20 12:35:16 -07:00
Brad Davidson e8d30101a6 Wait for apiserver readyz instead of healthz
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 3449d5b9f9)
2021-10-20 12:35:16 -07:00
Brian Downs 697f7e471a
[Engine-1.21] - Add etcd s3 timeout (#4207) (#4229) 2021-10-18 10:45:47 -07:00
Hussein Galal 0c109a58b0
Make sure there are no duplicates in etcd member list (#4025) (#4050)
* Make sure there are no duplicates in etcd member list

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* fix node names with hyphens

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* use full server name for etcd node name

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2021-10-07 22:28:42 +02:00
Chris Kim da379fbd19
[engine-1.21] Update to Kubernetes v1.21.5 (#4057)
* Update to Kubernetes v1.21.5
* Handle moved runc library

Signed-off-by: Chris Kim <oats87g@gmail.com>
2021-09-21 10:53:24 -07:00
Chris Kim 34de120875
Initial leader elected etcd member management controller (#4011)
Signed-off-by: Chris Kim <oats87g@gmail.com>
2021-09-14 10:19:38 -07:00
Brad Davidson a6bbc65776 Add missing node name entry to apiserver SAN list
Also honor node-ip when adding the node address to the SAN list, instead
of hardcoding the autodetected IP address.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2021-09-01 13:23:07 -07:00
Jamie Phillips ae909c73e5 Updated the code to use GetNetworkByName and tweaked logic.
Updated the method being called and tweaked the logic.

Signed-off-by: Jamie Phillips <jamie.phillips@suse.com>
2021-08-10 13:53:08 -07:00
Jamie Phillips 7704fb6ee5
Exporting the AddFeatureGate function and adding a unit test for it. (#3661) 2021-07-28 13:04:42 -07:00
Jamie Phillips fc19b805d5
Added logic to strip any existing hyphens before processing the args. (#3662)
Updated the logic to handle if extra args are passed with existing hyphens in the arg. The test was updated to add the additional case of having pre-existing hyphens. The method name was also refactored based on previous feedback.
2021-07-28 13:04:19 -07:00
Brad Davidson 90445bd581
Wait until server is ready before configuring kube-proxy (#3716)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2021-07-27 14:56:05 -07:00
Derek Nola 21c8a33647
Introduction of Integration Tests (#3695)
* Commit of new etcd snapshot integration tests.
* Updated integration github action to not run on doc changes.
* Update Drone runner to only run unit tests

Signed-off-by: dereknola <derek.nola@suse.com>
2021-07-26 09:59:33 -07:00
Derek Nola 55fe4ff5b0
Convert existing unit tests to standard layout (#3621)
* Converted parser_test.go, scrypt_test.go, types_test.go, nodeconfig_test.go

Signed-off-by: dereknola <derek.nola@suse.com>
2021-07-13 10:44:11 -07:00
Jamie Phillips a62d143936 Fixing various bugs related to windows.
This changes the crictl template for issues with the socket information. It also addresses a typo in the socket address. Last it makes tweaks to configuration that aren't required or had incorrect logic.

Signed-off-by: Jamie Phillips <jamie.phillips@suse.com>


spelling
2021-07-07 15:50:34 -07:00
Derek Nola c833183517
Add unit tests for pkg/etcd (#3549)
* Created new etcd unit tests and testing support file

Signed-off-by: dereknola <derek.nola@suse.com>
2021-07-01 16:08:35 -07:00
Chris Kim 04398a2582
Move cloud-controller-manager into an embedded executor (#3525)
* Move cloud-controller-manager into an embedded executor
* Import K3s cloud provider and clean up imports

Signed-off-by: Chris Kim <oats87g@gmail.com>
2021-06-29 07:28:38 -07:00
Joe Kralicky a84c75af62 Adds a command-line flag '--disable-helm-controller' that will disable
the server's built-in helm controller.

Problem:
Testing installation and uninstallation of the Helm Controller on k3s is
not possible if the Helm Controller is baked into the k3s server.

Solution:
The Helm Controller can optionally be disabled, which will allow users
to manage its installation manually.

Signed-off-by: Joe Kralicky <joe.kralicky@suse.com>
2021-06-25 14:54:36 -04:00
Jamie Phillips 82394d7d36 Basic windows agent that will join a cluster without CNI.
Signed-off-by: Jamie Phillips <jamie.phillips@suse.com>
2021-06-23 09:07:50 -07:00
Derek Nola 4b2ab8b515
Renamed client-cloud-controller crt and key (#3470)
Signed-off-by: dereknola <derek.nola@suse.com>
2021-06-16 13:54:35 -07:00
Brad Davidson f6cec4e75d Add kubernetes.default.svc to serving certs
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2021-06-08 12:55:20 -07:00
Derek Nola 664a98919b
Fix RBAC cloud-controller-manager name 3308 (#3388)
* Changed cloud-controller-manager user name in ccm.yaml

Signed-off-by: dereknola <derek.nola@suse.com>

* Changed RBAC name in server.go

Signed-off-by: dereknola <derek.nola@suse.com>

* Changed "k3s" string prefix to version.Program to prevent static hardcoding

Signed-off-by: dereknola <derek.nola@suse.com>

* Changed user in ccm.yaml to k3s-cloud-controller-manager

Signed-off-by: dereknola <derek.nola@suse.com>
2021-06-02 14:50:11 -07:00
Jamie Phillips 7345ac35ae
Initial windows support for agent (#3375)
Signed-off-by: Jamie Phillips <jamie.phillips@suse.com>
2021-06-01 12:29:46 -07:00