Key/value secrets ertekek beolvasasa Kubernetes podba Vaultbol

Fórumok

Sziasztok,

 

tudna nekem ebben a temaban vki vmi utmutatot adni?

Hogyan lehetseges Vault alatt titkos key/value parokat letrehozni, elmenteni, majd Kubernetes podba belovasni?

Koszonom elore a segitseget.

Ardi

Hozzászólások

Vault-init as a init container lehet egy megoldás

"Dilbert-elv: a legkevésbé hatékony dolgozók végül szükségszerűen oda kerülnek, ahol a legkevesebb kárt okozhatják – a vezetésbe."

A Vault ugyabban a Kube clusterben lakik vagy kulso?

Attól is függ, hogy épp hogyan kezeled a k8s manifestjeidet.

Mi gitops-szolunk flux-szal, a secreteket pedig sops (https://github.com/mozilla/sops)-szal kezeljük. Ez gyakorlatilag azt jelenti, hogy a git repositoryban vannak a secretek enkriptált formában a flux pedig deploymentkor kustomize-zal rendereli le ezekből az igazi secret manifesteket, és úgy deployolja őket (kicsit bővebben itt: https://www.weave.works/blog/hashicorp-vault-flux-secret-management).  Ennek az az előnye, hogy a secreteket a többi konfighoz hasonlóan a git repóban lehet kezelni, a Vault-ban pedig csak egy privát kulcs van, ami dekriptáláshoz szükséges, így nincs szükség arra, hogy valami vagy valaki a Vaultba kitegye a secreteket. Másrészt pedig a clusterben ebből az egészből már semmi nem látszik, tehát a ugyanúgy tudod a secreteket hivatkozni a pod template-ben, mint normális esetben.

Persze ez az egész akkor működik, ha amúgy is valamilyen gitops megoldást használsz, ha nem, akkor a vault agent injector (https://www.vaultproject.io/docs/platform/k8s/injector) jó választás lehet. Ez gyakorlatilag azt csinálja, hogy beinjektál egy init container-t a pod-ba (létrehozáskor), ami egy shared volume-ra kirendereli a Vaultból kiolvasott secreteket a podon definiált annotációk alapján, a rendes containeredben pedig be tudod olvasni a fájlt ugyanarról a shared volume-ról. Viszont ha a container egy env változót vár, akkor kicsit azért hekkelni kell, és override-olni kell az image entrypoint-ját, hogy először a shared volume-on lévő secreteket olvassa be és exportálja env varként.

Sziasztok,

ugy nez ki, hogy 3 HA modban levo vault kontener fut a kubernetes alatt, amiket, sajnos, nem latok.

Kaptam egy manualt vegre - megprobalok

A:

a) CLI-bol bejelentkezni a gepemrol,

b) torolni az ideiglenes felhasznalot

c) es a roottoken segitsegevel admin-t crealni, jogokat es aztan tesztelni, tesztelni.

Aztan johet a

B:

pod+ key/value beolvasas tesztelese. Ehhez meeg keresnem kell vmi hasznalhato peldat.

Asszem, az A/a) lesz a legnehezebb... :-) (VAULT_CACERT, VAULT_ADDR is kell majd hozza...)

Ardi