Antes de comenzar
Antes de instalar AlloyDB Omni, asegúrate de cumplir con los siguientes requisitos.
Planifica la instalación
Antes de instalar AlloyDB Omni en tu VM, haz lo siguiente:
- Lee Planifica la instalación de AlloyDB Omni en una VM.
- Lee Ejecuta AlloyDB Omni con privilegios de administrador o sin ellos y completa los pasos necesarios para ejecutarlo con privilegios de administrador o sin ellos, 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 acceso de administrador
Puedes ejecutar AlloyDB Omni con Docker o Podman. Puedes ejecutar estos motores de contenedores con o sin permisos de administrador. El término "con privilegios de raíz" se refiere a ejecutar Docker o Podman como usuario raíz, mientras que "sin privilegios de raíz" se refiere a ejecutar estas imágenes de contenedor como un usuario no raíz o sin privilegios.
El modo que elijas dependerá de los requisitos y las preferencias que tengas para el entorno. Si la simplicidad es importante, es posible que rootful sea la opción adecuada para ti. Si necesitas la seguridad de un usuario sin privilegios, es posible que la opción sin raíz sea la adecuada.
Si decides ejecutar un entorno con acceso 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 hacer nada.
postgres
seguirá sin asignarse a ningún usuario en tu máquina host. - Crea un usuario y un grupo de usuarios con UID y GID de
999
para quepostgres
se asigne a ese usuario y grupo de usuarios.
En los entornos sin raíz, postgres
se asigna a un sub-UID y un sub-GID a los que tienen acceso el usuario y el grupo de usuarios del host (como se define en los archivos /etc/subuid
y /etc/subgid
). Esto significa que no necesitas administrar la asignación de usuarios.
Configura rangos de sub-UID y sub-GID (sin raíz)
Si usas RHEL, CentOS o Fedora, sigue estos pasos:
- Instala el programa de utilidad de línea de comandos
iptables
ejecutando el comandosudo dnf install -y iptables
. - Para cualquier versión de RHEL anterior a la 9, instala el paquete
fuse-overlayfs
ejecutando el comandosudo dnf install -y fuse-overlayfs
.
- Instala 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 raíz.
Si estás en un sistema Debian, instala los archivos binarios
newuidmap
ynewgidmap
.apt-get install -y uidmap
Agrega una entrada
subuid
para tu usuario sin raíz.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-UIDs que deseas registrar para tu usuario.SUB_UID_RANGE_COUNT
: Es la cantidad de sub-UIDs que deseas registrar para tu usuario. Este valor debe ser de 999 como mínimo.
Agrega una entrada
subgid
para tu usuario sin raíz.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-GIDs que deseas registrar para tu usuario.SUB_GID_RANGE_COUNT
: Cantidad de sub-GIDs que deseas registrar para tu usuario. Este valor debe ser de 999 como mínimo.
Si deseas que tu instancia de AlloyDB Omni se ejecute mientras tu usuario no está conectado, 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 en el sub-UID y el 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_DIR
Podman
mkdir -p DATA_DIR
Podman
mkdir -p DATA_DIR
Reemplaza las siguientes variables:
DATA_DIR
: Ruta de acceso al directorio del 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 gpt
parted -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. Recomendamos usar el sistema de archivos
ext4
para 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 archivosext4
es 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/fstab
para que el disco se active después de un reinicio.echo -e "LABEL=FS_LABEL\tMOUNT_POINT\text4\tdefaults\t0 0" | tee -a /etc/fstab
systemctl daemon-reload
mount MOUNT_POINT
Reemplaza las siguientes variables:
FS_LABEL
: Es la etiqueta del sistema de archivos. La longitud máxima de una etiqueta del sistema de archivosext4
es 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.
Rootful
mkdir -p DATA_DIR
Sin raíz
mkdir -p DATA_DIR
chown ROOTLESS_USER:ROOTLESS_GROUP DATA_DIR
Reemplaza las siguientes variables:
DATA_DIR
: Ruta de acceso al directorio del host en el que se almacenan tus datosROOTLESS_USER
: Si usas un entorno sin raíz, este es el usuario que quieres que sea propietario del directorio.ROOTLESS_GROUP
: Si usas un entorno sin privilegios 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 \ google/alloydbomni:IMAGE_TAG
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 \ google/alloydbomni:IMAGE_TAG
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 \ docker.io/google/alloydbomni:IMAGE_TAG
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 \ docker.io/google/alloydbomni:IMAGE_TAG
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
: Contraseña asignada al usuariopostgres
del contenedor nuevo después de su creación.DATA_DIR
: Ruta de acceso al directorio del host en el que se almacenan tus datosHOST_PORT
: Es el puerto TCP en la máquina anfitrión al que el contenedor debe publicar su propio puerto5432
. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432
.IMAGE_TAG
: Usa16.3.0
para la imagen de Debian más reciente o16.3.0-ubi
para la imagen de UBI más reciente.
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
: Dirección IP o 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.