Despliegue y configuración de StackGres

Tendrá que crear un cluster de Oracle Container Engine for Kubernetes, desplegar StackGres en él y, a continuación, crear la base de datos.

Antes de empezar, necesitará configurar su arquitectura de OCI. En las siguientes instrucciones se supone que tiene todo listo, además del cluster de Kubernetes y la base de datos.

Creación de un cluster de Kubernetes

Cree una instancia de Oracle Cloud Infrastructure Container Engine for Kubernetes en el compartimento para el despliegue de StackGres.

  1. En el menú principal de la consola de OCI, seleccione Servicios para desarrolladores.
  2. En Contenedores y artefactos, seleccione Cluster de Kubernetes (OKE).
    Cualquier cluster existente del compartimento se muestra en una tabla.
  3. Haga clic en el botón Crear cluster.
  4. En el cuadro de diálogo Crear cluster, seleccione Creación rápida y haga clic en Enviar.
    La opción Creación rápida creará todos los recursos de red necesarios para este despliegue, incluidas las subredes. Si ya ha configurado subredes, puede utilizar la opción Creación personalizada en su lugar.
  5. En el asistente Crear cluster (rápido), proporcione valores para los siguientes campos y opciones y, a continuación, haga clic en Siguiente.
    Por ejemplo, estos son algunos valores típicos para un despliegue pequeño (3 CPU):
  6. En el paso Revisar, la página Recursos que se van a crear proporciona un resumen de la información del cluster, la red y el pool de nodos. Revise detenidamente toda la información mostrada y, si es correcta, haga clic en Crear cluster.
    Se muestra la página Creating Cluster y la página de recursos de red asociada. Cada componente que se va a crear se muestra con un estado que se actualiza a medida que finaliza el proceso automatizado. El proceso normalmente tarda unos 15 minutos en completarse.
Cuando finalice la creación del cluster de Kubernetes, puede continuar instalando StackGres en el cluster.

Instalación de StackGres con Cloud Shell

Instale StackGres en el nuevo cluster de Kubernetes mediante la interfaz de línea de comandos de Oracle Cloud Infrastructure Cloud Shell.

  1. En la consola de OCI, diríjase a la página Detalles de cluster de su cluster de Kubernetes. Necesitará la información que se muestra aquí para los siguientes pasos.
  2. En la barra superior de la consola de OCI, junto al menú desplegable Región, haga clic en el icono de código y seleccione Cloud Shell.
    Tras unos instantes, se abre la CLI. La consola y la petición de datos muestran el nombre de usuario, el arrendamiento, la región y la carpeta de inicio.
  3. Utilice el comando create-kubeconfig con el valor Cluster ID que se muestra en la página Detalles de cluster y en la región:
    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. Verifique que los nodos de Kubernetes se hayan iniciado correctamente:
    kubectl get nodes
    La salida de la consola debe mostrar cada uno de los nodos con sus direcciones IP y el estado Listo.
  5. Valide que los pods también se han iniciado correctamente:
    kubectl get pods -A
    La salida de la consola debe mostrar todos los pods del espacio de nombres kube-system como Running.
  6. Agregue el repositorio de instalación StackGres mediante la instalación del paquete:
    helm repo add stackgres-charts https://stackgres.io/downloads/stackgres-k8s/stackgres/helm/
    La salida de la consola debe indicar que el repositorio se ha agregado correctamente.
  7. Ejecute la instalación:
    helm install --create-namespace --namespace stackgres stackgres-operator stackgres-charts/stackgres-operator
    La instalación tardará unos cinco minutos en ejecutarse.
La consola mostrará un mensaje que indica que STATUS está desplegado, seguido de una lista de comandos útiles, incluido el comando con el URI para la interfaz de usuario del operador StackGres y los comandos get secret para generar el nombre de usuario y la contraseña del administrador. Copie toda esta salida en un archivo de texto para referencia posterior.

Configurar el Servicio

Configure el servicio StackGres mediante Oracle Cloud Infrastructure Cloud Shell y, a continuación, conéctese a la interfaz de usuario StackGres.

  1. En Cloud Shell, edite el archivo de configuración del servicio cambiando el campo Tipo de ClusterIP a LoadBalancer:
    kubectl edit services stackgres-restapi -n stackgres
    La consola carga el archivo de configuración en el editor de texto por defecto, como vi. En spec:, busque el campo type: y cambie el valor a LoadBalancer. En vi, pulse la tecla Esc y, a continuación, escriba :wq para guardar el archivo.
  2. Obtenga el nombre de referencia del servicio:
    kubectl get pods -n stackgres –w
    Copie el nombre del pod stackgres-restapi. Por ejemplo, stackgres-restapi-684df1e9b-gx455.
  3. Muestre el servicio para acceder a la consola web:
    kubectl expose pod your_stackgres-restapi-pod -n stackgres --type LoadBalancer --port 9443 --name admin-console
    La salida de la consola debe ser service/admin-console expuesta.
  4. Obtenga la IP y el puerto de acceso para el servicio:
    kubectl get services -n stackgres –w
    La salida de la consola incluirá una línea para admin-console. Copie los valores para la IP externa y el puerto. Puede acceder a la consola con la URL https://<external-ip>:<port>/admin/index.html
  5. Genere un nombre de usuario y una contraseña para la consola mediante los comandos get secret proporcionados al ejecutar la instalación:

    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) }}'

    Copie el nombre de usuario y la contraseña.
  6. Conéctese a la consola StackGres. Navegue a la consola utilizando la URL que creó en el paso 4 e inicie sesión con el nombre de usuario y la contraseña que generó en el paso 5.
  7. En la lista desplegable Seleccionar espacio de nombres, seleccione el espacio de nombres que ha creado durante la instalación. Por ejemplo, stackgres.
Puede gestionar la instancia StackGres desde la consola StackGres.

Creación de una base de datos

Cree y acceda a una base de datos en el cluster StackGres mediante la consola StackGres.

  1. En la consola StackGres, seleccione Clusters StackGres. A continuación, haga clic en el enlace crear uno nuevo de la tabla.
  2. En el asistente Crear cluster, introduzca valores para las instancias de base de datos PostgreSQL y, a continuación, haga clic en Crear cluster. Por ejemplo, para crear tres instancias para un entorno de producción de alta disponibilidad:
    Cuando se crean los clusters, se muestran en la consola con el estado Activo.
  3. Haga clic en Ver información de conexión para ver algunos comandos útiles, incluidos los comandos de kubectl para conectarse al cliente de Postgres psql en Cloud Shell. Por ejemplo:
    kubectl -n stackgres exec -ti prod-0 -c postgres-util – psql
Su despliegue de PostgreSQL ahora está activo y en ejecución en OCI.