-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
K3s does not ensure that certificates on disk match values from from cluster bootstrap data #3015
Comments
This will need to get fixed to support rancher/rke2-docs#59 which will likely be a documentation effort. |
Will need a pull-thru into RKE2 |
Needed for #3226 in July timeframe. |
Bootstrap functionality has been validated according to our test plan on master branch using commitid Validated all of the below on single node (sqlite) and multinode (externalsql), as well as a few cases with embedded etcd:
The TLDR design of this is: Trust the certs from the DB. If certs on disk do not match, have user remove the unmatching files so that k3s can pull the proper certs from DB. |
Environmental Info:
K3s Version:
K3s v1.20 (affects all versions)
Node(s) CPU architecture, OS, and Version:
N/A
Cluster Configuration:
Embedded sqlite or external SQL database
Describe the bug:
K3s does not properly restore cluster certificates and other encryption configuration when starting up.
Steps To Reproduce:
sqlite:
external sql:
Expected behavior:
K3s ensures that the on-disk certs and other encryption materials match the bootstrap data retrieved from the datastore when starting up, so that it always uses the correct data.
Actual behavior:
K3s starts, but pods crash and clients experience errors since the certs on disk that the apiserver is using do not match those used to sign service account secrets and other thing embedded in the datastore.
Additional context / logs:
@briandowns recently fixed this for etcd restore, but we need to also handle it for other backends.
The text was updated successfully, but these errors were encountered: