Replies: 1 comment 7 replies
-
Need more discussion whether we can have a stronger dependency on Vault. passwordstore.org / git-crypt / sops may be insufficient (and don't compete with vault) |
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
kubeadm
, by default, writes the Root CAs of the k8s cluster in plaintext on the control plane nodes. This affects three CAs:(If calico is used, it may also have its own CA which allows to impersonate calico components among each other.)
From this approach, the following issues follow:
The second issue may be handwaved away with "no k8s cluster is going to live for 10 years", even though I disagree on that stance.
We should figure out which options we have to make our clusters more secure. In particular, we should avoid having the Root CA on the k8s node. Abstractly, this breaks auto-renewal of certificates and makes the join process more complicated: the k8s API server needs to be able to sign certificates in order to let a node join.
As food for thought, in yaook/k8s, C&H is experimenting with using HashiCorp Vault to keep the CA keys secure and using Vault policies and ACLs in order to restrict the certificates individual nodes may obtain to the absolute minimum. This already works to the point that fully functional cluster can be obtained, but it's not in production yet.
We are not using the openstack C-API provider directly, but implement the C-API ourselves using our own ansible-based LCM, so the changes I propose there are probably not 1:1 applicable to the openstack provider.
In addition, this creates a hard dependency on HashiCorp Vault, which may or may not be acceptable; the good thing about Vault is that it supports rather high-level operations on PKI objects (e.g. "issue a certificate"), which is better than what most (if not all) other secret storage engines can do.
Beta Was this translation helpful? Give feedback.
All reactions