Nutanix propose depuis quelques temps la possibilité de déployer et consommer des bases de données NDB depuis un environnement Kubernetes qu’il soit NKP ou tout autre distribution Kubernetes.
Nous allons voir ici, comment intégrer l’opérateur NDB dans Kubernetes (NKP chez moi) et comment y consommer des ressources.
Les ressources relatives à cet operator sont disponibles sur le repo git officiel suivant : Github Nutanix Cloud Native – NDB Operator
Les méthodes d’installations selon l’environnement sont relativement bien détaillé dans le readme associé et je ne vais pas toute les reprendre. Elles sont dépendantes de vos choix d’environnements sources.
Les pré-requis importants sont les suivants :
- Le serveur NDB standalone ou l’environnement NDB en mode HA doit être accessible depuis le cluster Kubernetes concerné
- Un utilisateur avec des droits d’administration doit être utilisé pour NDB
Pour ma part j’ai utilisé la méthode de déploiement par chart helm disponible ici : Helm Repository – Nutanix NDB Operator
J’ai poussé l’installation en suivant le traditionnel workflow d’intégration de répo helm et d’installation du chart avec les deux commandes suivantes :
helm repo add nutanix https://nutanix.github.io/helm/ helm install ndb-operator nutanix/ndb-operator -n ndb-operator --create-namespace
Step 1 – Créé un secret
Pour pouvoir me connecter à mon environnement NDB j’ai créer un secret qui correspond à un compte admin dédié sur NDB.
apiVersion: v1 kind: Secret metadata: name: ndb-admink8s type: Opaque stringData: username: svcnkp password: MyStrongPassword!!
J’applique ensuite la ressource pour créer le secret :
kubectl apply -f ndbsrv-secrets.yaml
Je créé aussi une ressource secrets pour mes futures instances.
apiVersion: v1 kind: Secret metadata: name: db-instance-secret-gen type: Opaque stringData: password: MyStrongPassword! ssh_public_key: mySSHPublicKey
J’applique ensuite mon manifest:
kubectl apply -f ndb-instance-generic-secrets.yaml
Step 2 – Déployer la ressource NDB Server
Il me reste maintenant à configurer mon NDB Server comme ressource pour venir y créer/consommer mes instances de base de données.
Pour cela je déclare le manifest suivant :
apiVersion: ndb.nutanix.com/v1alpha1
kind: NDBServer
metadata:
name: ndb
namespace: ndb
spec:
credentialSecret: ndb-admink8s
server: https://10.1.0.187:8443/era/v0.9
skipCertificateVerification: true
J’applique ensuite la ressource :
kubectl apply -f ndb-server.yaml
Je peux ensuite vérifier l’existence de mon serveur NDB en affichant les ressources de type NDBServer :

Mon environnement est prêt à consommer des ressources NDB. Cette seconde étape sera exposé dans un article prochainement.

Ping : Nutanix – NDB Operator et Kubernetes : Consommer des ressources NDB avec K8s - Nuta Fr