Déployer et configurer StackGres

Vous devez créer un cluster Oracle Container Engine for Kubernetes, y déployer StackGres, puis créer la base de données.

Avant de commencer, vous devez configurer votre architecture OCI. Les instructions suivantes supposent que vous disposez de tout ce qui est disponible en plus de votre cluster Kubernetes et de votre base de données.

Création d'un cluster Kubernetes

Créez une instance Oracle Cloud Infrastructure Container Engine for Kubernetes dans votre compartiment pour le déploiement StackGres.

  1. Dans le menu principal de la console OCI, sélectionnez Services de développeur.
  2. Sous Conteneurs et artefacts, sélectionnez Cluster Kubernetes (OKE).
    Les clusters existants dans votre compartiment sont répertoriés dans une table.
  3. Cliquez sur le bouton Créer un cluster.
  4. Dans la boîte de dialogue Créer un cluster, sélectionnez Création rapide et cliquez sur Soumettre.
    L'option Création rapide crée toutes les ressources réseau dont vous avez besoin pour ce déploiement, y compris les sous-réseaux. Si vous avez déjà configuré des sous-réseaux, vous pouvez utiliser l'option Création personnalisée à la place.
  5. Dans l'assistant Créer un cluster (rapide), indiquez les valeurs des champs et options suivants, puis cliquez sur Suivant.
    Par exemple, voici quelques valeurs types pour un petit déploiement (3 CPU) :
  6. A l'étape Vérifier, la page Ressources à créer fournit un récapitulatif des informations sur le cluster, le réseau et le pool de noeuds. Vérifiez soigneusement toutes les informations affichées et, si elles sont correctes, cliquez sur Créer un cluster.
    La page Créer un cluster et les ressources réseau associées s'affiche. Chaque composant à créer est répertorié avec un statut mis à jour à la fin du processus automatisé. Le processus dure généralement environ 15 minutes.
Une fois la création du cluster Kubernetes terminée, vous pouvez installer StackGres sur le cluster.

Installation d'StackGres à l'aide de Cloud Shell

Installez StackGres sur le nouveau cluster Kubernetes à l'aide de l'interface de ligne de commande Oracle Cloud Infrastructure Cloud Shell.

  1. Dans la console OCI, accédez à la page Détails du cluster de votre cluster Kubernetes. Les informations présentées ici vous seront utiles pour les étapes suivantes.
  2. Dans la barre supérieure de la console OCI, en regard du menu déroulant Région, cliquez sur l'icône de code et sélectionnez Cloud Shell.
    Au bout de quelques instants, l'interface de ligne de commande s'ouvre. La console et l'invite indiquent votre nom utilisateur, votre location, votre région et votre dossier de base.
  3. Utilisez la commande create-kubeconfig avec la valeur ID de cluster affichée sur la page Détails du cluster et votre région :
    oci ce cluster create-kubeconfig --cluster-id your_cluster_id --file $HOME/.kube/config --region your_region --token-version 2.0.0 --kube-endpoint PUBLIC_ENDPOINT
  4. Vérifiez que les noeuds Kubernetes ont démarré correctement :
    kubectl get nodes
    La sortie de la console doit répertorier chacun de vos noeuds avec leur adresse IP et le statut Prêt.
  5. Vérifiez que les pods ont également démarré correctement :
    kubectl get pods -A
    La sortie de la console doit répertorier tous les pods de l'espace de noms kube-system sous la forme Run.
  6. Ajoutez le référentiel d'installation StackGres à l'aide de l'installation du package :
    helm repo add stackgres-charts https://stackgres.io/downloads/stackgres-k8s/stackgres/helm/
    La sortie de la console doit indiquer que le référentiel a été ajouté avec succès.
  7. Exécutez l'installation :
    helm install --create-namespace --namespace stackgres stackgres-operator stackgres-charts/stackgres-operator
    L'exécution de l'installation prend environ cinq minutes.
La console affiche un message indiquant que STATUS est déployé, suivi d'une liste de commandes utiles, y compris la commande avec l'URI de l'interface utilisateur de l'opérateur StackGres et les commandes get secret pour générer le nom utilisateur et le mot de passe de l'administrateur. Copiez l'ensemble de cette sortie dans un fichier texte pour référence ultérieure.

Configuration du service

Configurez le service StackGres à l'aide d'Oracle Cloud Infrastructure Cloud Shell, puis connectez-vous à l'interface utilisateur StackGres.

  1. A partir de Cloud Shell, modifiez le fichier de configuration de service en remplaçant le champ Type par ClusterIP en LoadBalancer :
    kubectl edit services stackgres-restapi -n stackgres
    La console charge le fichier de configuration dans l'éditeur de texte par défaut, tel que vi. Sous spec:, localisez le champ type: et remplacez la valeur par LoadBalancer. Dans vi, appuyez sur la touche Echap, puis saisissez :wq pour enregistrer le fichier.
  2. Obtenez le nom de référence du service :
    kubectl get pods -n stackgres –w
    copier le nom du pod stackgres-restapi. Par exemple, stackgres-restapi-684df1e9b-gx455.
  3. Affichez le service pour accéder à la console Web :
    kubectl expose pod your_stackgres-restapi-pod -n stackgres --type LoadBalancer --port 9443 --name admin-console
    La sortie de la console doit être service/admin-console exposée.
  4. Obtenez l'adresse IP et le port d'accès du service :
    kubectl get services -n stackgres –w
    La sortie de la console inclura une ligne pour admin-console. Copiez les valeurs de l'adresse IP externe et du port. Vous pouvez accéder à la console à l'aide de l'URL https://<external-ip>:<port>/admin/index.html
  5. Générez un nom d'utilisateur et un mot de passe pour la console à l'aide des commandes get secret fournies lors de l'exécution de l'installation :

    kubectl get secret -n stackgres stackgres-restapi --template '{{ printf "username = %s\n" (.data.k8sUsername | base64decode) }}'

    kubectl get secret -n stackgres stackgres-restapi --template '{{ printf "password = %s\n" (.data.clearPassword | base64decode) }}'

    Copiez le nom utilisateur et le mot de passe.
  6. Connectez-vous à la console StackGres. Accédez à la console à l'aide de l'URL que vous avez créée à l'étape 4, puis connectez-vous à l'aide du nom utilisateur et du mot de passe générés à l'étape 5.
  7. Dans la liste déroulante Sélectionner un espace de noms, sélectionnez l'espace de noms que vous avez créé lors de l'installation. Par exemple, stackgres.
Vous pouvez gérer votre instance StackGres à partir de la console StackGres.

Créer une base de données

Créez une base de données dans votre cluster StackGres et accédez-y à l'aide de la console StackGres.

  1. Dans la console StackGres, sélectionnez Clusters StackGres. Cliquez ensuite sur le lien créer un nouveau ? dans la table.
  2. Dans l'assistant Créer un cluster, entrez les valeurs des instances de base de données PostgreSQL, puis cliquez sur Créer un cluster. Par exemple, pour créer trois instances pour un environnement de production hautement disponible :
    Une fois les clusters créés, ils sont affichés dans la console avec le statut Actif.
  3. Cliquez sur Afficher les informations de connexion pour afficher des commandes utiles, notamment les commandes kubectl permettant de se connecter au client Postgres psql dans Cloud Shell. Par exemple :
    kubectl -n stackgres exec -ti prod-0 -c postgres-util – psql
Votre déploiement PostgreSQL est à présent opérationnel sur OCI.