Mengelola peran pengguna
AlloyDB Omni menggunakan peran berikut:
AlloyDB Omni menyertakan peran superuser bernama
alloydbadmin, dan peran non-superuser bernamaalloydbmetadata.Pengguna
postgresdefault memiliki peran superuser.Semua peran pengguna yang telah ditentukan sebelumnya tidak memiliki hak istimewa. Peran ini dicadangkan untuk potensi penggunaan di masa mendatang.
Menyiapkan database AlloyDB Omni
Sebaiknya ikuti langkah-langkah berikut saat menyiapkan database AlloyDB Omni:
Tentukan atau impor database Anda menggunakan peran pengguna
postgres. Dalam penginstalan baru, peran ini memiliki hak istimewa superuser.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 baru dengan akses terbatas ini.
Anda dapat membuat dan menentukan peran pengguna baru sebanyak yang Anda butuhkan. Jangan ubah atau hapus peran pengguna yang disertakan dengan AlloyDB Omni.
Untuk mengetahui informasi selengkapnya, lihat Mengelola pengguna dan peran AlloyDB Omni.
Memantau AlloyDB Omni
Memantau penginstalan AlloyDB Omni mencakup pengambilan dan analisis metrik 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 AlloyDB Omni Kubernetes.
Kubernetes
Menemukan file log cluster database Anda
File postgresql.audit dan postgresql.log terletak 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_NAMEdengan nama cluster database Anda. Nama cluster database ini sama dengan yang Anda deklarasikan saat Anda membuatnya.Jalankan shell di pod database sebagai root.
kubectl exec ${DB_POD} -it -- /bin/bashTemukan 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 menunjukkan 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-dbDB_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:metricsalloydbomniGanti 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 -> 9187Saat perintah sebelumnya berjalan, Anda dapat mengakses metrik pemantauan melalui HTTP di port yang Anda tentukan. Misalnya, Anda dapat menggunakan
curluntuk 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 serviceMonitor resource kustom untuk memilih semua layanan untuk semua namespace di cluster database Anda.
Untuk mengetahui informasi selengkapnya tentang penggunaan 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
Melihat metrik menggunakan Grafana
Untuk representasi visual metrik di AlloyDB Omni di Kubernetes, gunakan dasbor pemantauan. Dasbor pemantauan mengandalkan stack observabilitas dasar yang terdiri dari Prometheus dan Grafana. Untuk mengonfigurasi dasbor pemantauan agar mengumpulkan metrik dari AlloyDB Omni, ikuti langkah-langkah berikut:
Untuk mendownload dasbor Grafana, gunakan perintah
wget:wget https://raw.githubusercontent.com/GoogleCloudPlatform/alloydb-omni-samples/refs/heads/main/monitoring-dashboards/grafana/alloydbomni_dashboard.yamlAnda harus mendownload dan menginstal grafana-operator sebelum men-deploy Grafana di Kubernetes. Untuk mengetahui petunjuk mendetail, lihat Penginstalan.
Tambahkan label
monitoring.dashboard/product=alloydb-omnike instance Grafana tempat Anda menginstal dasbor:kubectl label grafana/GRAFANA_INSTANCE_NAME monitoring.dashboard/product=alloydb-omni -n NAMESPACEGanti kode berikut:
GRAFANA_INSTANCE_NAME: nama instance Grafana tempat Anda menempatkan dasbor.NAMESPACE: namespace tempat Anda men-deploy operator Grafana.
Untuk menerapkan konfigurasi dasbor Grafana ke cluster AlloyDB Omni Anda di Kubernetes, gunakan perintah berikut:
kubectl apply -f alloydbomni_dashboard.yaml -n NAMESPACELihat dokumentasi operator Grafana untuk mengetahui informasi tentang penggunaan operator Grafana.
Untuk mengonfigurasi Grafana agar menggunakan Prometheus sebagai sumber data, lihat Sumber data.
Untuk memverifikasi bahwa Grafana dikonfigurasi dengan benar, lakukan salah satu hal berikut:
- Lihat kumpulan panel Grafana di dasbor AlloyDB Omni.
Ambil informasi tentang dasbor Grafana di cluster Kubernetes:
kubectl get grafanadashboard alloydb-omni-dashboard -n NAMESPACE -o jsonpath='{.status.conditions[?(@.type=="DashboardSynchronized")].status}'Jika perintah menampilkan
True,alloydb-omni-dashboardakan berhasil di-deploy ke instance Grafana.
Meng-uninstal AlloyDB Omni
Kubernetes
Menghapus cluster database Anda
Untuk menghapus cluster database Anda, 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=mergeGanti DB_CLUSTER_NAME dengan nama cluster database Anda. Nama cluster database ini sama dengan yang Anda deklarasikan saat Anda membuatnya.
Meng-uninstal 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 doneTunggu hingga operator AlloyDB Omni Kubernetes menghapus semua cluster database Anda. Gunakan perintah berikut untuk memeriksa apakah ada resource database yang tersisa:
kubectl get dbclusters.alloydbomni.dbadmin.goog --all-namespacesHapus resource lain yang dibuat oleh operator AlloyDB Omni Kubernetes:
kubectl delete failovers.alloydbomni.dbadmin.goog --all --all-namespaceskubectl delete restores.alloydbomni.dbadmin.goog --all --all-namespaceskubectl delete switchovers.alloydbomni.dbadmin.goog --all --all-namespacesUninstal operator AlloyDB Omni Kubernetes:
helm uninstall alloydbomni-operator --namespace alloydb-omni-systemBersihkan rahasia, deskripsi resource kustom, dan namespace yang terkait dengan operator AlloyDB Omni Kubernetes:
kubectl delete certificate -n alloydb-omni-system --allkubectl 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 -nkubectl delete crd -l alloydb-omni=truekubectl 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 akan 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
storageClassyang ditentukan mendukung perluasan volume. - Anda tidak dapat mengurangi ukuran disk.