Antes de comenzar
Antes de instalar AlloyDB Omni, asegúrate de cumplir con los siguientes requisitos.
Solicita acceso a la imagen de AlloyDB Omni
Para obtener acceso a la imagen de PostgreSQL 18, completa el formulario de registro de incentivos de AlloyDB Omni.
Planifica la instalación
Antes de instalar AlloyDB Omni en tu VM, haz lo siguiente:
- Lee Planifica tu instalación de AlloyDB Omni en una VM.
- Lee Ejecuta AlloyDB Omni con o sin permisos de administrador y completa los pasos necesarios para cada opción según el entorno que elijas.
Elige una opción de descarga o instalación
Elige una de las siguientes opciones de descarga e instalación:
| Medios | Ubicaciones de descarga y guías de instalación | Implementación en |
|---|---|---|
| Imagen de Debian | DockerHub (etiquetas) | |
| Imagen de UBI (Red Hat) | Catálogo del ecosistema de Red Hat |
|
Ejecuta AlloyDB Omni con o sin permisos de administrador
Puedes ejecutar AlloyDB Omni con Docker o Podman. Puedes ejecutar estos motores de contenedores con o sin permisos de administrador. Con permisos de administrador se refiere a ejecutar Docker o Podman como el usuario raíz, mientras que sin permisos de administrador se refiere a ejecutar estas imágenes de contenedor como un usuario no raíz o sin privilegios.
El modo que elijas depende de los requisitos y las preferencias que tengas para el entorno. Si la simplicidad es importante, la opción con permisos de administrador podría ser adecuada para ti. Si necesitas la seguridad de un usuario sin privilegios, la opción sin permisos de administrador podría ser la adecuada.
Si decides ejecutar un entorno con permisos de administrador, debes decidir cómo administrar la asignación de usuarios entre el contenedor y tu máquina anfitrión. En la práctica, AlloyDB Omni ejecuta procesos como el usuario postgres, que tiene un UID y un GID de 999. Esto significa que tienes dos opciones para administrar la asignación de usuarios:
- No realizar ninguna acción.
postgresseguirá sin asignarse a ningún usuario en tu máquina host. - Crea un usuario y un grupo de usuarios con UID y GID de
999para quepostgresse asigne a ese usuario y grupo de usuarios.
Para los entornos sin permisos de administrador, postgres se asigna a un sub-UID y un sub-GID a los que el usuario y el grupo de usuarios host tienen acceso (como se define en los archivos /etc/subuid y /etc/subgid). Esto significa que no necesitas administrar la asignación de usuarios.
(Sin permisos de administrador) Configura los rangos de sub-UID y sub-GID
Si usas RHEL, CentOS o Fedora, sigue estos pasos:
- Para instalar el programa de utilidad de línea de comandos
iptables, ejecuta el comandosudo dnf install -y iptables. - Para cualquier versión de RHEL anterior a la 9, instala el paquete
fuse-overlayfsejecutando el comandosudo dnf install -y fuse-overlayfs.
- Para instalar el programa de utilidad de línea de comandos
Si tu imagen de Linux no tiene rangos de sub-UID y sub-GID configurados para tu usuario sin privilegios, debes configurar estos rangos para ejecutar AlloyDB Omni sin permisos de administrador.
Si estás en un sistema Debian, instala los objetos binarios
newuidmapynewgidmap.apt-get install -y uidmap
Agrega una entrada
subuidpara tu usuario sin permisos de administrador.echo "ROOTLESS_USER:SUB_UID_RANGE_START:SUB_UID_RANGE_COUNT" >> /etc/subuid
Reemplaza las siguientes variables:
ROOTLESS_USER: Es el usuario con el que deseas ejecutar AlloyDB Omni.SUB_UID_RANGE_START: Es el número más bajo del rango de sub-UID que deseas registrar para tu usuario.SUB_UID_RANGE_COUNT: Es la cantidad de sub-UID que deseas registrar para tu usuario. El valor debe ser de 999 como mínimo.
Agrega una entrada
subgidpara tu usuario sin permisos de administrador.echo "ROOTLESS_USER:SUB_GID_RANGE_START:SUB_GID_RANGE_COUNT" >> /etc/subgid
Reemplaza las siguientes variables:
ROOTLESS_USER: Es el usuario con el que deseas ejecutar AlloyDB Omni.SUB_GID_RANGE_START: Es el número más bajo del rango de sub-GID que deseas registrar para tu usuario.SUB_GID_RANGE_COUNT: Es la cantidad de sub-GID que deseas registrar para tu usuario. El valor debe ser de 999 como mínimo.
Si deseas que tu instancia de AlloyDB Omni se ejecute mientras el usuario no accede, ejecuta el siguiente comando.
loginctl enable-linger ROOTLESS_USER
Reemplaza la siguiente variable:
ROOTLESS_USER: Es el usuario con el que deseas ejecutar AlloyDB Omni.
Si usas Docker, ejecuta el siguiente comando como ROOTLESS_USER:
/usr/bin/dockerd-rootless-setuptool.sh install
Abre un shell nuevo para que los cambios de sub-UID y sub-GID tengan efecto.
Crea un directorio en el que AlloyDB Omni almacene datos
Si usas un sistema de almacenamiento que hace más que solo ejecutar AlloyDB Omni, puedes crear el directorio de AlloyDB Omni en el sistema de archivos existente de tu dispositivo. De lo contrario, puedes crear un sistema de archivos nuevo en tu dispositivo dedicado.
Sistema de archivos existente
Docker
mkdir -p DATA_DIR
Docker
mkdir -p DATA_DIRPodman
mkdir -p DATA_DIR
Podman
mkdir -p DATA_DIRReemplaza las siguientes variables:
DATA_DIR: Es la ruta de acceso al directorio host en el que se almacenan tus datos.
Exclusivo
Crea un directorio en el host en el que se activará el disco.
mkdir -p MOUNT_POINT
Reemplaza la siguiente variable:
MOUNT_POINT: Es la ruta de acceso al directorio de nivel superior que debe contener tu instancia de AlloyDB Omni.
Crea una tabla de particiones gpt con una sola partición en el dispositivo de disco.
parted -s DEVICE_PATH mklabel gptparted -s DEVICE_PATH mkpart primary 0% 100%Reemplaza la siguiente variable:
DEVICE_PATH: Es la ruta de acceso que el sistema operativo asigna al dispositivo de disco.
Crea un sistema de archivos en el dispositivo de disco. Te recomendamos que uses el sistema de archivos
ext4para AlloyDB Omni.mkfs.ext4 -q -m 1 -L FS_LABEL -F PARTITION_PATH
Reemplaza las siguientes variables:
FS_LABEL: Es la etiqueta del sistema de archivos. La longitud máxima de una etiqueta del sistema de archivosext4es de 16 caracteres.PARTITION_PATH: Es la ruta de acceso a la partición del disco que se usa para almacenar los datos del contenedor.
Activa el dispositivo y crea una entrada en el archivo
/etc/fstabpara que el disco se active después de un reinicio.echo -e "LABEL=FS_LABEL\tMOUNT_POINT\text4\tdefaults\t0 0" | tee -a /etc/fstabsystemctl daemon-reloadmount MOUNT_POINTReemplaza las siguientes variables:
FS_LABEL: Es la etiqueta del sistema de archivos. La longitud máxima de una etiqueta del sistema de archivosext4es de 16 caracteres.MOUNT_POINT: Es la ruta de acceso al directorio de nivel superior que debe contener tu instancia de AlloyDB Omni.
Crea un directorio de datos en el sistema de archivos específico del contenedor.
Con permisos de administrador
mkdir -p DATA_DIR
Sin permisos de administrador
mkdir -p DATA_DIRchown ROOTLESS_USER:ROOTLESS_GROUP DATA_DIRReemplaza las siguientes variables:
DATA_DIR: Es la ruta de acceso al directorio host en el que se almacenan tus datos.ROOTLESS_USER: Si usas un entorno sin permisos de administrador, este es el usuario que deseas que sea propietario del directorio.ROOTLESS_GROUP: Si usas un entorno sin permisos de administrador, este es el grupo que deseas que sea propietario del directorio.
Crea el contenedor
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -p HOST_PORT:5432 \ --restart=always \ -d IMAGE_URI
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -p HOST_PORT:5432 \ --restart=always \ -d IMAGE_URI
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -p HOST_PORT:5432 \ --restart=always \ -d IMAGE_URI
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -p HOST_PORT:5432 \ --restart=always \ -d IMAGE_URI
Reemplaza las siguientes variables:
CONTAINER_NAME: Es el nombre que usaste para el directorio en Crea un directorio en el que AlloyDB Omni almacene datos.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.DATA_DIR: Es la ruta de acceso al directorio host en el que se almacenan tus datos.HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor debe publicar su propio puerto5432. Para usar también el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.IMAGE_URI: Reemplaza por la ubicación de la imagen que se proporciona en el correo electrónico que recibiste cuando solicitaste acceso.
Conéctate a la instancia
Según tu entorno, puedes conectarte a tu instancia de AlloyDB Omni de forma local o remota.
Conéctate de forma local
Docker
docker exec -it CONTAINER_NAME psql -U postgres
Docker
docker exec -it CONTAINER_NAME psql -U postgres
Podman
podman exec -it CONTAINER_NAME psql -U postgres
Podman
podman exec -it CONTAINER_NAME psql -U postgres
Reemplaza la siguiente variable:
CONTAINER_NAME: Es el nombre que usaste para el directorio en Crea un directorio en el que AlloyDB Omni almacene datos.
Conéctate de forma remota
psql -U postgres -p HOST_PORT -h IP_ADDRESS_OR_FQDN
Reemplaza las siguientes variables:
HOST_PORT: Es el puerto TCP que usaste en Crea el contenedor.IP_ADDRESS_OR_FQDN: Es la dirección IP o el nombre de dominio completamente calificado del host en el que se ejecuta AlloyDB Omni.
Después de ejecutar este comando, se te pedirá la contraseña de la cuenta postgres. Ingresa la contraseña que usaste en
Crea el contenedor.