installer vault server standalone avec kubernetes et backend de stockage file
Installer vault server standalone avec kubernetes:
-
- Kubernetes avec backend de stockage file

Pré-requis
-
Un cluster kubernetes :
- Deployer un cluster kuberntes
- Installer helm sur le post admin
Déployer Vault en mode standalone
- Ajouter le repo helm: Le repo du chart helm
helm repo add hashicorp https://helm.releases.hashicorp.com
helm repo update
- Créer un fichier vault-standalone-values.yaml pour la configuration de Vault
injector:
enabled: "false"
server:
enabled: "true"
updateStrategyType: "OnDelete"
logLevel: "trace"
resources:
requests:
memory: 256Mi
cpu: 250m
limits:
memory: 256Mi
cpu: 250m
ingress:
enabled: false
dataStorage:
enabled: true
size: 1Gi
mountPath: "/vault/data"
storageClass: standard-rwo
accessMode: ReadWriteOnce
persistentVolumeClaimRetentionPolicy:
whenDeleted: Retain
whenScaled: Delete
auditStorage:
enabled: true
size: 1Gi
storageClass: standard-rwo
accessMode: ReadWriteOnce
tolerations: []
nodeSelector: {}
standalone:
enabled: true
config: |-
ui = true
listener "tcp" {
tls_disable = 1
address = "0.0.0.0:8200"
cluster_address = "0.0.0.0:8201"
}
storage "file" {
path = "/vault/data"
}
disruptionBudget:
enabled: true
serviceAccount:
create: true
name: "vault-sa"
createSecret: true
ui:
enabled: true
- Déployer Vault avec Helm
helm upgrade --install vault-server hashicorp/vault -n vault-server -f ault-standalone-values.yaml --create-namespace
- Verifier le pod
kubectl get po -n vault-server
Le pod est 0/1 parceque vault n'est pas encore initialisé.
- Initialiser et Vérifier Vault
kubectl -n vault-server exec -it vault-server-0 -- sh
vault operator init
vault status
Copiez et sauvegardez en lieu sûr les clés Recovery et le root token (3, 4). Vous aurez besoin pour recovery et unseal après redemarrage du pod.
Le initial root token (4) parmet de se connecter en temps que root pour faire les premières actions d'admin.

Recovery Key 1: oP/TYJWhApoAMTPElzj37epTQ8ysiu0kYbXfJoaLmQgP
Recovery Key 2: vsoWTGH6scxyV5eYbxopI0GVFnJSsrxdFUxYTsRK1WjA
Recovery Key 3: vefgkKAfeTyiWHYDyMgpuVd5vOLYL1IytACboZDSGITv
Recovery Key 4: 4aCvw1zA94a5b/Lk7x5+5kN/rO6FF8+Z5QVKNbiaZBPr
Recovery Key 5: klVuTyEpCirZy2aHd741se3eFkUMXaR+HgkpYl7r7UKw
Initial Root Token: hvs.dPJgv9DLxJx7zQM8Y8MYr1Jw
- Verifier le pod à nouveau
kubectl get po -n vault-server
Le pod est 1/1 parceque vault est maintenant initialisé. Pour déverouiller vault, il faut acceder à l'ui et renseigner 3 des unseal key.
- Unseal vault sur l'ui
kubectl -n vault-server port-forward vault-server-0 8200:8200
Acceder à l'url: http://localhost:8200/

Si le pod redemarre pour une quelque raison, il faudra utilisé les 3 unseal key pour deverouiller vault.
Après avoir renseigné les 3 unseal key, on peux maintenant se connecter avec la root key.
Acceder à l'url: http://localhost:8200/
On peut se connecter avec le root token sauvegardeé à l'initialisation (4).


Important:
En production avec ce mode de deploiement, il faut penser à bien sauvegarder le pvc/pv. L'outils k8up ou velero peut bien le faire.
Commentaires
Aucun commentaire pour le moment.