Sebelum memulai
Sebelum menginstal AlloyDB Omni, pastikan Anda memenuhi persyaratan berikut.
Meminta akses ke image AlloyDB Omni
Untuk mendapatkan akses ke image PostgreSQL 18, isi formulir Pendaftaran Insentif AlloyDB Omni.
Merencanakan penginstalan
Sebelum menginstal AlloyDB Omni di VM, lakukan hal berikut:
- Baca Merencanakan penginstalan AlloyDB Omni di VM.
- Baca Menjalankan AlloyDB Omni rootful atau rootless dan selesaikan langkah-langkah yang diperlukan untuk rootful atau rootless, bergantung pada lingkungan yang Anda pilih.
Memilih opsi download atau penginstalan
Pilih salah satu opsi download dan penginstalan berikut:
| Media | Lokasi download dan panduan penginstalan | Deployment ke |
|---|---|---|
| Image Debian | DockerHub (tag) | |
| Image UBI (Red Hat) | Katalog Ekosistem Red Hat |
|
Menjalankan AlloyDB Omni rootful atau rootless
Anda dapat menjalankan AlloyDB Omni menggunakan Docker atau Podman. Anda dapat menjalankan mesin container ini sebagai rootful atau rootless. Rootful mengacu pada menjalankan Docker atau Podman sebagai pengguna root, sedangkan rootless mengacu pada menjalankan image container ini sebagai pengguna non-root, atau tanpa hak istimewa.
Mode yang Anda pilih bergantung pada persyaratan dan preferensi yang Anda miliki untuk lingkungan tersebut. Jika kesederhanaan penting, rootful mungkin tepat untuk Anda. Jika Anda memerlukan keamanan pengguna tanpa hak istimewa, rootless mungkin merupakan pilihan yang tepat.
Jika Anda memutuskan untuk menjalankan lingkungan rootful, Anda harus memutuskan cara mengelola pemetaan pengguna antara container dan mesin host. Dalam praktiknya, AlloyDB Omni menjalankan proses sebagai pengguna postgres, yang memiliki UID dan GID 999. Artinya, Anda memiliki dua opsi untuk mengelola pemetaan pengguna:
- Tidak melakukan apa pun.
postgresakan terus tidak dipetakan ke pengguna mana pun di mesin host Anda. - Buat pengguna dan grup pengguna dengan UID dan GID
999sehinggapostgresdipetakan ke pengguna dan grup pengguna tersebut.
Untuk lingkungan rootless, postgres dipetakan ke sub-UID dan sub-GID yang dapat diakses oleh pengguna dan grup pengguna host (seperti yang ditentukan dalam file /etc/subuid dan /etc/subgid). Artinya, Anda tidak perlu mengelola pemetaan pengguna.
(Rootless) Mengonfigurasi rentang sub-UID dan sub-GID
Jika Anda menggunakan RHEL, CentOS, atau Fedora, ikuti langkah-langkah berikut:
- Instal program utilitas command line
iptablesdengan menjalankan perintahsudo dnf install -y iptables. - Untuk versi RHEL apa pun yang lebih lama dari 9, instal paket
fuse-overlayfsdengan menjalankan perintahsudo dnf install -y fuse-overlayfs.
- Instal program utilitas command line
Jika image Linux Anda tidak memiliki rentang sub-UID dan sub-GID yang dikonfigurasi untuk pengguna tanpa hak istimewa, Anda harus mengonfigurasi rentang ini untuk menjalankan AlloyDB Omni rootless.
Jika Anda menggunakan sistem Debian, instal biner
newuidmapdannewgidmap.apt-get install -y uidmap
Tambahkan entri
subuiduntuk pengguna rootless Anda.echo "ROOTLESS_USER:SUB_UID_RANGE_START:SUB_UID_RANGE_COUNT" >> /etc/subuid
Ganti variabel berikut:
ROOTLESS_USER: Pengguna yang ingin Anda gunakan untuk menjalankan AlloyDB Omni.SUB_UID_RANGE_START: Angka yang lebih rendah dari rentang sub-UID yang ingin Anda daftarkan untuk pengguna Anda.SUB_UID_RANGE_COUNT: Jumlah sub-UID yang ingin Anda daftarkan untuk pengguna Anda. Nilai ini harus minimal 999.
Tambahkan entri
subgiduntuk pengguna rootless Anda.echo "ROOTLESS_USER:SUB_GID_RANGE_START:SUB_GID_RANGE_COUNT" >> /etc/subgid
Ganti variabel berikut:
ROOTLESS_USER: Pengguna yang ingin Anda gunakan untuk menjalankan AlloyDB Omni.SUB_GID_RANGE_START: Angka yang lebih rendah dari rentang sub-GID yang ingin Anda daftarkan untuk pengguna Anda.SUB_GID_RANGE_COUNT: Jumlah sub-GID yang ingin Anda daftarkan untuk pengguna Anda. Nilai ini harus minimal 999.
Jika Anda ingin instance AlloyDB Omni berjalan saat pengguna tidak login, jalankan perintah berikut.
loginctl enable-linger ROOTLESS_USER
Ganti variabel berikut:
ROOTLESS_USER: Pengguna yang ingin Anda gunakan untuk menjalankan AlloyDB Omni.
Jika Anda menggunakan Docker, jalankan perintah berikut sebagai ROOTLESS_USER:
/usr/bin/dockerd-rootless-setuptool.sh install
Buka shell baru agar perubahan sub-UID dan sub-GID diterapkan.
Membuat direktori tempat AlloyDB Omni menyimpan data
Jika Anda menggunakan sistem penyimpanan yang tidak hanya menjalankan AlloyDB Omni, Anda dapat membuat direktori AlloyDB Omni di sistem file yang ada di perangkat Anda. Jika tidak, Anda dapat membuat sistem file baru di perangkat khusus Anda.
Sistem file yang ada
Docker
mkdir -p DATA_DIR
Docker
mkdir -p DATA_DIRPodman
mkdir -p DATA_DIR
Podman
mkdir -p DATA_DIRGanti variabel berikut:
DATA_DIR: Jalur direktori host tempat data Anda disimpan.
Perangkat khusus
Buat direktori di host tempat disk akan dipasang.
mkdir -p MOUNT_POINT
Ganti variabel berikut:
MOUNT_POINT: Jalur direktori tingkat atas yang harus berisi instance AlloyDB Omni Anda.
Buat tabel partisi gpt dengan satu partisi di perangkat disk.
parted -s DEVICE_PATH mklabel gptparted -s DEVICE_PATH mkpart primary 0% 100%Ganti variabel berikut:
DEVICE_PATH: Jalur yang ditetapkan oleh sistem operasi ke perangkat disk.
Buat sistem file di perangkat disk. Sebaiknya gunakan sistem file
ext4untuk AlloyDB Omni.mkfs.ext4 -q -m 1 -L FS_LABEL -F PARTITION_PATH
Ganti variabel berikut:
FS_LABEL: Label untuk sistem file. Panjang maksimum label sistem fileext4adalah 16 karakter.PARTITION_PATH: Jalur untuk partisi disk yang digunakan untuk menyimpan data container.
Pasang perangkat dan buat entri di file
/etc/fstabsehingga disk dipasang setelah dimulai ulang.echo -e "LABEL=FS_LABEL\tMOUNT_POINT\text4\tdefaults\t0 0" | tee -a /etc/fstabsystemctl daemon-reloadmount MOUNT_POINTGanti variabel berikut:
FS_LABEL: Label untuk sistem file. Panjang maksimum label sistem fileext4adalah 16 karakter.MOUNT_POINT: Jalur direktori tingkat atas yang harus berisi instance AlloyDB Omni Anda.
Buat direktori data di sistem file khusus container.
Rootful
mkdir -p DATA_DIR
Rootless
mkdir -p DATA_DIRchown ROOTLESS_USER:ROOTLESS_GROUP DATA_DIRGanti variabel berikut:
DATA_DIR: Jalur direktori host tempat data Anda disimpan.ROOTLESS_USER: Jika Anda menggunakan lingkungan rootless, pengguna ini adalah pengguna yang ingin Anda jadikan pemilik direktori.ROOTLESS_GROUP: Jika Anda menggunakan lingkungan rootless, grup ini adalah grup yang ingin Anda jadikan pemilik direktori.
Membuat container
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
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk direktori di Membuat direktori tempat AlloyDB Omni menyimpan data.NEW_PASSWORD: Sandi yang ditetapkan ke penggunapostgrescontainer baru setelah dibuat.DATA_DIR: Jalur direktori host tempat data Anda disimpan.HOST_PORT: Port TCP di mesin host tempat container harus memublikasikan portnya sendiri5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.IMAGE_URI: ganti dengan lokasi image yang diberikan dalam email yang Anda terima saat Anda meminta akses.
Menghubungkan ke instance
Bergantung pada lingkungan Anda, Anda dapat terhubung ke instance AlloyDB Omni secara lokal atau dari jarak jauh.
Menghubungkan secara lokal
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
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk direktori di Membuat direktori tempat AlloyDB Omni menyimpan data.
Menghubungkan dari jarak jauh
psql -U postgres -p HOST_PORT -h IP_ADDRESS_OR_FQDN
Ganti variabel berikut:
HOST_PORT: Port TCP yang Anda gunakan di Membuat container.IP_ADDRESS_OR_FQDN: Alamat IP atau nama domain yang sepenuhnya memenuhi syarat (FQDN) untuk host tempat AlloyDB Omni berjalan.
Setelah menjalankan perintah ini, Anda akan diminta memasukkan sandi akun postgres. Masukkan sandi yang Anda gunakan di
Membuat container.