Bases de données avec kbcli: PostgreSQL et MySQL
coolibra312 vues
Bases de données avec kbcli
-
- PostgreSQL
- MySQL
Une fois KubeBlocks installé avec ses add-ons, le déploiement d’une base de données se fait très simplement à l’aide de kbcli. Cet outil abstrait la création des ressources Kubernetes complexes comme les ClusterDefinitions, ClusterVersions et Clusters.
Voici des exemples concrets pour les bases de données les plus populaires.
- Cluster PostgreSQL
kbcli cluster create postgresql --cpu 1 --memory 2 --storage 2
# avec plus de parametres
kbcli cluster create postgresql test --replicas=3 replication --storage=1
-
- Lister les clusters
kbcli cluster list


-
- Connexion au cluster
- Un port forward sur le svc du cluster
- recuperer le secret pour se conexter avec le client que vous voulez
- Connexion au cluster
kubectl port-forward -n default service/leek56-postgresql-postgresql 5432:5432
-
- Pour supprimer le cluster
kbcli cluster delete
- Cluster MySQL
kbcli cluster create mysql --cpu 1 --memory 2 --storage 1
# avec plus de parametres
kbcli cluster create mysql mysql-dev --replicas=3 replication --storage=10

Pour mieux manager l'operateur il est preferable de passer par la config yaml. Dans la suite nous allons voir cette possiblité.
- Desinstaller kubeblocks
kbcli addon list | grep Enabled
-
- La liste optenue, lancer cette commande en remplaçant le nom de chaque addon
kbcli addon enable <addonName> --set extra.keepResource=false
-
- Désactiver tous les addons: Avec la meme liste remplacer le nom des addons
kbcli addon disable <addonName>
-
- Vérifier que toutes les ressources KubeBlocks sont supprimées
kubectl get crd | grep kubeblocks.io | awk '{print $1}' | while read crd; do
echo "Processing CRD: $crd"
kubectl get "$crd" -o json | jq '.items[] | select(.metadata.finalizers != null) | .metadata.name' -r | while read resource; do
echo "Custom Resource left: $resource in CRD: $crd"
done
done
-
- Désintaller kubeblocks
kbcli kubeblocks uninstall
-
- Vérifier que toutes les ressources KubeBlocks sont supprimées
kubectl get crd | grep kubeblocks.io | awk '{print $1}' | while read crd; do
echo "Processing CRD: $crd"
kubectl get "$crd" -o json | jq '.items[] | select(.metadata.finalizers != null) | .metadata.name' -r | while read resource; do
echo "Custom Resource left: $resource in CRD: $crd"
done
done
kubectl get configmap -n kb-systemCommentaires
Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour le moment.