Aller au contenu principal
Sommaire de la formation

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
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-system

Commentaires

Connectez-vous pour rejoindre la discussion.

Aucun commentaire pour le moment.