Mengelola peran pengguna
AlloyDB Omni menggunakan kumpulan peran pengguna PostgreSQL yang telah ditentukan sebelumnya yang sama dengan yang disertakan AlloyDB, dengan perbedaan berikut:
AlloyDB Omni mencakup peran superuser bernama
alloydbadmin
, dan peran non-superuser bernamaalloydbmetadata
.Pengguna
postgres
default memiliki peran superuser.Semua peran pengguna standar lainnya tidak memiliki hak istimewa. Alamat ini dicadangkan untuk potensi penggunaan di masa mendatang.
Seperti AlloyDB, sebaiknya ikuti langkah-langkah berikut saat menyiapkan database:
Tentukan atau impor database Anda menggunakan peran pengguna
postgres
. Pada penginstalan baru, peran ini memiliki hak istimewa superuser, dan tidak memerlukan sandi.Buat peran pengguna baru yang memiliki tingkat akses yang benar ke tabel aplikasi Anda, sekali lagi menggunakan peran pengguna
postgres
.Konfigurasi aplikasi Anda untuk terhubung ke database menggunakan peran akses terbatas yang baru ini.
Anda dapat membuat dan menentukan peran pengguna baru sebanyak yang Anda butuhkan. Jangan ubah atau hapus peran pengguna apa pun yang disertakan dengan AlloyDB Omni.
Untuk mengetahui informasi selengkapnya, lihat Mengelola peran pengguna AlloyDB.
Memantau AlloyDB Omni
Memantau penginstalan AlloyDB Omni mencakup membaca dan menganalisis file log AlloyDB Omni.
AlloyDB Omni yang berjalan di Kubernetes menyediakan serangkaian metrik dasar yang tersedia sebagai endpoint Prometheus. Untuk mengetahui daftar metrik yang tersedia, lihat Metrik AlloyDB Omni.
Selain itu, AlloyDB Omni yang berjalan di Kubernetes mengekspos metrik dari resource kustom yang memanfaatkan kube-state-metrics (KSM). Untuk mengaktifkan metrik resource kustom, lihat Memantau resource kustom operator Kubernetes AlloyDB Omni.
Server tunggal
Secara default, untuk mengambil log AlloyDB Omni, jalankan:
Docker
docker logs CONTAINER_NAME
Ganti CONTAINER_NAME
dengan nama container AlloyDB Omni Anda.
Untuk mengonfigurasi perilaku logging AlloyDB Omni, lihat Menyesuaikan penginstalan AlloyDB Omni.
Podman
podman logs CONTAINER_NAME
Ganti CONTAINER_NAME
dengan nama container AlloyDB Omni Anda.
Untuk mengonfigurasi perilaku logging AlloyDB Omni, lihat Menyesuaikan penginstalan AlloyDB Omni.
Podman
podman logs CONTAINER_NAME
Ganti CONTAINER_NAME
dengan nama container AlloyDB Omni Anda.
Untuk mengonfigurasi perilaku logging AlloyDB Omni, lihat Menyesuaikan penginstalan AlloyDB Omni.
Kubernetes
Menemukan file log cluster database Anda
File postgresql.audit
dan postgresql.log
berada di sistem file
pod database. postgresql.audit
hanya ada jika Anda
mengaktifkan pgaudit.
Untuk mengakses file ini, ikuti langkah-langkah berikut:
Tentukan variabel lingkungan yang berisi nama pod database.
export DB_POD=`kubectl get pod -l alloydbomni.internal.dbadmin.goog/dbcluster=DB_CLUSTER_NAME,alloydbomni.internal.dbadmin.goog/task-type=database -o jsonpath='{.items[0].metadata.name}'`
Ganti
DB_CLUSTER_NAME
dengan nama cluster database Anda. Nama cluster database yang sama dengan yang Anda deklarasikan saat Anda membuatnya.Jalankan shell di pod database sebagai root.
kubectl exec ${DB_POD} -it -- /bin/bash
Temukan file log di direktori
/obs/diagnostic/
:/obs/diagnostic/postgresql.audit
/obs/diagnostic/postgresql.log
Mencantumkan layanan pemantauan
v1.0
Saat Anda membuat cluster database, AlloyDB Omni akan membuat layanan pemantauan berikut untuk setiap CR instance cluster database di namespace yang sama:
al-INSTANCE_NAME-monitoring-system
Untuk mencantumkan layanan pemantauan, jalankan perintah berikut.
kubectl get svc -n NAMESPACE | grep monitoring
Ganti NAMESPACE
dengan namespace tempat cluster Anda berada.
Contoh respons berikut menampilkan layanan al-1060-dbc-monitoring-system
,
al-3de6-dbc-monitoring-system
, dan al-4bc0-dbc-monitoring-system
. Setiap layanan sesuai dengan satu instance.
al-1060-dbc-monitoring-system ClusterIP 10.0.15.227 <none> 9187/TCP 7d20h
al-3de6-dbc-monitoring-system ClusterIP 10.0.5.205 <none> 9187/TCP 7d19h
al-4bc0-dbc-monitoring-system ClusterIP 10.0.15.92 <none> 9187/TCP 7d19h
Versi < 1.0
Saat Anda membuat cluster database, AlloyDB Omni akan membuat layanan pemantauan berikut di namespace yang sama dengan cluster database:
DB_CLUSTER-monitoring-db
DB_CLUSTER-monitoring-system
Untuk mencantumkan layanan pemantauan, jalankan perintah berikut.
kubectl get svc -n NAMESPACE | grep monitoring
Ganti NAMESPACE
dengan namespace tempat cluster Anda berada.
Contoh respons berikut menunjukkan layanan al-2953-dbcluster-foo7-monitoring-system
dan al-2953-dbcluster-foo7-monitoring-db
.
al-2953-dbcluster-foo7-monitoring-db ClusterIP 10.36.3.243 <none> 9187/TCP 44m
al-2953-dbcluster-foo7-monitoring-system ClusterIP 10.36.7.72 <none> 9187/TCP 44m
Melihat metrik Prometheus dari command line
Port 9187
diberi nama metricsalloydbomni
untuk semua layanan pemantauan.
Siapkan penerusan port dari lingkungan lokal Anda ke layanan pemantauan.
kubectl port-forward service/MONITORING_SERVICE -n NAMESPACE MONITORING_METRICS_PORT:metricsalloydbomni
Ganti kode berikut:
MONITORING_SERVICE
: Nama layanan pemantauan yang ingin Anda teruskan—misalnya,al-1060-dbc-monitoring-system
.NAMESPACE
: Namespace tempat cluster Anda berada.MONITORING_METRICS_PORT
: Port TCP lokal yang tersedia.
Respons berikut menunjukkan bahwa layanan sedang diteruskan.
Forwarding from 127.0.0.1:9187 -> 9187 Forwarding from [::1]:9187 -> 9187
Saat perintah sebelumnya berjalan, Anda dapat mengakses metrik pemantauan melalui HTTP di port yang Anda tentukan. Misalnya, Anda dapat menggunakan
curl
untuk melihat semua metrik sebagai teks biasa:curl http://localhost:MONITORING_METRICS_PORT/metrics
Melihat metrik menggunakan Prometheus API
Kunci label alloydbomni.internal.dbadmin.goog/task-type
dan port metricsalloydbomni
tersedia sebagai default untuk semua layanan pemantauan di AlloyDB Omni. Anda dapat menggunakannya bersama dengan satu resource kustom serviceMonitor
untuk memilih semua layanan untuk semua namespace di cluster database Anda.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan Prometheus API, lihat dokumentasi Prometheus Operator.
Berikut adalah contoh kolom spec
dari resource kustom serviceMonitor
yang menyertakan kunci label alloydbomni.internal.dbadmin.gdc.goog/task-type
dan port metricsalloydbomni
. Resource kustom serviceMonitor
memantau dan mengumpulkan semua layanan Kubernetes di semua namespace
Untuk mengetahui informasi selengkapnya tentang definisi ServiceMonitor
lengkap, lihat definisi resource kustom ServiceMonitor
.
v1.0
spec:
selector:
matchLabels:
alloydbomni.internal.dbadmin.goog/task-type: monitoring
namespaceSelector:
any: true
endpoints:
- port: metricsalloydbomni
Versi < 1.0
spec:
selector:
matchExpressions:
- key: alloydbomni.internal.dbadmin.gdc.goog/task-type
operator: Exists
values: []
namespaceSelector:
any: true
endpoints:
- port: metricsalloydbomni
Mengupgrade AlloyDB Omni
Untuk mengupgrade dari AlloyDB Omni 15.5.2 atau yang lebih lama ke 15.5.4, ikuti petunjuk di Bermigrasi dari versi AlloyDB Omni yang lebih lama ke versi terbaru.
Untuk melakukan upgrade dari 15.5.4 dan yang lebih baru:
Mulai ulang AlloyDB Omni menggunakan versi image baru.
Pastikan untuk menentukan direktori data agar cocok dengan jalur yang sama seperti yang digunakan dalam versi AlloyDB Omni sebelumnya.
Meng-uninstal AlloyDB Omni
Server tunggal
Untuk meng-uninstal AlloyDB Omni, hentikan dan hapus container AlloyDB Omni menggunakan perintah berikut:
Docker
docker container stop CONTAINER_NAME
docker container rm CONTAINER_NAME
Ganti CONTAINER_NAME
dengan nama container AlloyDB Omni Anda.
Podman
podman container stop CONTAINER_NAME
podman container rm CONTAINER_NAME
Ganti CONTAINER_NAME
dengan nama container AlloyDB Omni Anda.
Podman
podman container stop CONTAINER_NAME
podman container rm CONTAINER_NAME
Ganti CONTAINER_NAME
dengan nama container AlloyDB Omni Anda.
Anda dapat memindahkan, mengarsipkan, atau menghapus direktori data eksternal, bergantung pada apakah dan bagaimana Anda ingin menyimpan data setelah meng-uninstal AlloyDB Omni.
Kubernetes
Menghapus cluster database
Untuk menghapus cluster database, tetapkan isDeleted
ke true
dalam manifesnya.
Anda dapat melakukannya dengan perintah berikut.
kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -p '{"spec":{"isDeleted":true}}' --type=merge
Ganti DB_CLUSTER_NAME
dengan nama cluster
database Anda. Nama cluster database yang sama dengan yang Anda deklarasikan saat Anda membuatnya.
Menghapus operator AlloyDB Omni
Untuk meng-uninstal operator AlloyDB Omni Kubernetes dari cluster Kubernetes Anda, lakukan langkah-langkah berikut:
Hapus semua cluster database Anda:
for ns in $(kubectl get dbclusters.alloydbomni.dbadmin.goog --all-namespaces -o=jsonpath='{range .items[*]}{.metadata.namespace}{"\n"}{end}'); do for cr in $(kubectl get dbclusters.alloydbomni.dbadmin.goog -n $ns -o=jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}'); do kubectl patch dbclusters.alloydbomni.dbadmin.goog $cr -n $ns --type=merge -p '{"spec":{"isDeleted":true}}' done done
Tunggu hingga operator Kubernetes AlloyDB Omni menghapus semua cluster database Anda. Gunakan perintah berikut untuk memeriksa apakah ada resource database yang tersisa:
kubectl get dbclusters.alloydbomni.dbadmin.goog --all-namespaces
Hapus resource lain yang dibuat oleh operator AlloyDB Omni Kubernetes:
kubectl delete failovers.alloydbomni.dbadmin.goog --all --all-namespaces
kubectl delete restores.alloydbomni.dbadmin.goog --all --all-namespaces
kubectl delete switchovers.alloydbomni.dbadmin.goog --all --all-namespaces
Menghapus instalasi operator AlloyDB Omni Kubernetes:
helm uninstall alloydbomni-operator --namespace alloydb-omni-system
Hapus secret, deskripsi resource kustom, dan namespace yang terkait dengan operator AlloyDB Omni Kubernetes:
kubectl delete certificate -n alloydb-omni-system --all
kubectl get secrets --all-namespaces -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name,ANNOTATION:.metadata.annotations.cert-manager\.io/issuer-name | grep -E 'alloydbomni|dbs-al' | awk '{print $1 " " $2}' | xargs -n 2 kubectl delete secret -n
kubectl delete crd -l alloydb-omni=true
kubectl delete ns alloydb-omni-system
Mengubah ukuran cluster database berbasis Kubernetes
Untuk mengubah ukuran CPU, memori, atau penyimpanan cluster database berbasis Kubernetes, perbarui kolom resources
dari manifes yang menentukan pod-nya. Operator
AlloyDB Omni segera menerapkan spesifikasi baru ke pod database Anda.
Untuk mengetahui informasi selengkapnya tentang sintaksis manifes operator AlloyDB Omni, lihat Membuat cluster database.
Batasan berikut berlaku untuk mengubah resource cluster database yang sedang berjalan:
- Anda hanya dapat meningkatkan ukuran disk jika
storageClass
yang ditentukan mendukung perluasan volume. - Anda tidak dapat mengurangi ukuran disk.