Untuk mengetahui petunjuk tentang cara menginstal AlloyDB Omni ke lingkungan Linux standar, lihat Menginstal AlloyDB Omni.
Ringkasan
Untuk men-deploy AlloyDB Omni ke cluster Kubernetes, instal operator AlloyDB Omni Kubernetes, ekstensi ke Kubernetes API yang disediakan oleh Google.
Anda mengonfigurasi dan mengontrol cluster database AlloyDB Omni berbasis Kubernetes dengan memasangkan file manifes deklaratif dengan utilitas kubectl, seperti deployment berbasis Kubernetes lainnya. Anda tidak menggunakan AlloyDB Omni CLI, yang ditujukan untuk deployment ke mesin Linux individual, bukan di cluster Kubernetes.
Image dasar
Mulai versi 1.5.0, image Kubernetes operator AlloyDB Omni dibuat berdasarkan Universal Base Image (UBI) 9 Red Hat. Transisi ini meningkatkan keamanan, konsistensi, dan kepatuhan untuk deployment Anda.
Referensi image hash SHA
Untuk mencegah serangan rantai pasokan dan memenuhi persyaratan Sertifikasi OpenShift, operator AlloyDB Omni menggunakan hash SHA-256, bukan tag versi untuk semua referensi image container.
Upgrade Otomatis: operator AlloyDB Omni menggunakan ImageCatalog internal untuk mengelola hash ini dan memastikan rollback data plane yang andal selama upgrade yang gagal.
Pengaktifan: meskipun diaktifkan secara default untuk paket Bersertifikasi OpenShift, pengguna paket OLM atau Helm dapat mengaktifkan referensi hash secara manual dengan menetapkan variabel lingkungan
ENABLE_DIGEST_IMAGE_REFSketruemenggunakan konfigurasi Langganan untuk OLM atau nilaienableDigestImageRefsdalam diagram Helm.
Sebelum memulai
Sebelum menginstal AlloyDB Omni di cluster Kubernetes dengan operator AlloyDB Omni, pastikan Anda memenuhi persyaratan berikut.
Memilih opsi download atau penginstalan
Saat mengelola workload di cluster Kubernetes generik, Anda dapat menggunakan Helm atau OLM. Helm adalah pengelola paket universal yang menggunakan diagram Helm untuk menginstal workload apa pun, termasuk operator, di semua varian Kubernetes. OLM—pilihan standar dan pilihan yang lebih disukai di platform OpenShift—mengelola siklus proses operator dengan paket OLM khusus.
Berdasarkan lingkungan dan alat Anda, pilih salah satu metode deployment berikut:
| Media | Lokasi download dan panduan penginstalan | Deployment ke |
|---|---|---|
| Operator AlloyDB Omni dengan Diagram Helm | Menginstal AlloyDB Omni di Kubernetes | Lingkungan container Kubernetes Anda sendiri—misalnya,
lokal, cloud publik, GKE, Amazon EKS, dan
Azure AKS. Tips: Jika alat CD (continuous delivery) Anda terintegrasi dengan Helm, gunakan opsi ini. |
| Operator AlloyDB Omni dengan paket OLM | OperatorHub.io | Lingkungan container Kubernetes Anda sendiri—misalnya,
lokal, cloud publik, Google Kubernetes Engine, Amazon EKS, dan Azure
AKS. Untuk menggunakan paket OLM, instal OLM di cluster Kubernetes sebelum menginstal operator. Untuk mengetahui informasi selengkapnya, lihat olm.operatorframework.io. Tips: Jika alat CD (continuous delivery) Anda sudah menggunakan OLM, pilih opsi ini. |
| Operator OpenShift dengan Paket OLM | Konsol Web OpenShift Container Platform | Lingkungan OpenShift OpenShift, varian Kubernetes, menggunakan OLM sebagai metode standar bawaan untuk mengemas dan men-deploy operator. |
Memverifikasi akses
Pastikan Anda memiliki akses ke hal berikut:
- Cluster Kubernetes, yang menjalankan software berikut:
- Kubernetes versi 1.21 atau yang lebih baru.
- Layanan
cert-manager.
- Utilitas
kubectl. - Pengelola paket
helmatau Operator Lifecycle Manager.
Memenuhi persyaratan hardware dan software
Setiap node di cluster Kubernetes harus memiliki hal berikut:
- Minimal dua CPU x86 atau AMD64.
- Minimal RAM 8 GB.
- Kernel Linux versi 4.18 atau yang lebih baru.
- Grup kontrol (cgroup) v2 diaktifkan.
Menginstal operator AlloyDB Omni
Jika Anda ingin men-deploy AlloyDB Omni di lingkungan produksi, lihat Menjalankan AlloyDB Omni dalam produksi.
Anda dapat menginstal operator AlloyDB Omni menggunakan berbagai metode, termasuk Helm dan Operator Lifecycle Manager (OLM).
Helm
Untuk menginstal operator AlloyDB Omni, ikuti langkah-langkah berikut:
- Instal operator AlloyDB Omni dari registry OCI:
helm install alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \ --version 1.7.0 \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m
Penginstalan yang berhasil akan menampilkan output berikut:
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
OLM
Untuk menginstal operator AlloyDB Omni menggunakan Operator Lifecycle Manager, ikuti langkah-langkah berikut:
Buka halaman AlloyDB Omni Operator.
Klik Install. Jika Anda belum melakukannya, ikuti petunjuk untuk menginstal hanya operator OLM dan katalog OperatorHub.io.
Buat namespace
alloydb-omni-systemjika belum ada.kubectl create ns alloydb-omni-system
Siapkan
OperatorGroupOLM untuk memastikan operator memiliki cakupan cluster.kubectl apply -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: operator-sdk-og namespace: alloydb-omni-system spec: upgradeStrategy: Default EOF
Instal operator menggunakan resource Langganan OLM.
kubectl apply -f - <<EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: my-alloydb-omni-operator namespace: alloydb-omni-system spec: channel: stable name: alloydb-omni-operator source: operatorhubio-catalog sourceNamespace: olm EOF
Instal
ClusterIssuersertifikat default. Langkah ini bersifat opsional jika Anda menggunakan penerbit sertifikat kustom.kubectl apply -f - <<EOF apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: alloydbomni-selfsigned-cluster-issuer spec: selfSigned: {} EOF
OLM
Untuk menginstal operator AlloyDB Omni di lingkungan Red Hat OpenShift menggunakan OLM, ikuti langkah-langkah berikut:
- Login ke konsol web Red Hat OpenShift.
- Untuk pengguna offline atau terputus, Anda harus mencerminkan image yang diperlukan secara manual ke registry pribadi menggunakan alat yang mempertahankan hash SHA, seperti
oc image mirror. Anda harus mengonfigurasiImageDigestMirrorSetuntuk mengalihkan permintaan image dari repositorigcr.iopublik ke registry pribadi Anda. Hal ini memastikan bahwa operator AlloyDB Omni dapat mengambil image yang diperlukan menggunakan hash SHA256 yang tidak dapat diubah. Di konsol web OpenShift, buka Operators > OperatorHub. AlloyDB Omni Operator tercantum dalam katalog Certified dan Community.
Di panel operator AlloyDB Omni, klik Install.
Instal sertifikat default
ClusterIssuerdengan menjalankan perintah berikut. Langkah ini bersifat opsional jika Anda menggunakan penerbit sertifikat kustom.kubectl apply -f - <<EOF apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: alloydbomni-selfsigned-cluster-issuer spec: selfSigned: {} EOF
Mengonfigurasi penyimpanan terhubung GDC
Untuk menginstal operator AlloyDB Omni di GDC terhubung, Anda harus mengikuti langkah-langkah tambahan untuk mengonfigurasi penyimpanan karena cluster GDC terhubung tidak menetapkan class penyimpanan default. Anda harus menetapkan class penyimpanan default sebelum membuat cluster database AlloyDB Omni.
Untuk mempelajari cara menetapkan Symcloud Storage sebagai class penyimpanan default, lihat Menetapkan Symcloud Storage sebagai class penyimpanan default.
Untuk mengetahui informasi selengkapnya tentang cara mengubah default untuk semua class penyimpanan lainnya, lihat Mengubah StorageClass default.
Membuat cluster database
Cluster database AlloyDB Omni berisi semua resource penyimpanan dan komputasi yang diperlukan untuk menjalankan server AlloyDB Omni, termasuk server utama, replika, dan semua data Anda.
Setelah Anda menginstal operator AlloyDB Omni di cluster Kubernetes, Anda dapat membuat cluster database AlloyDB Omni di cluster Kubernetes dengan menerapkan manifes yang mirip dengan berikut ini:
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DB_CLUSTER_NAME
type: Opaque
data:
DB_CLUSTER_NAME: "ENCODED_PASSWORD"
---
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
databaseVersion: "18.1.0"
primarySpec:
adminUser:
passwordRef:
name: db-pw-DB_CLUSTER_NAME
resources:
cpu: CPU_COUNT
memory: MEMORY_SIZE
disks:
- name: DataDisk
size: DISK_SIZE
Ganti kode berikut:
DB_CLUSTER_NAME: nama cluster database ini—misalnya,my-db-cluster.ENCODED_PASSWORD: sandi login database untuk peran penggunapostgresdefault, yang dienkode sebagai string base64—misalnya,Q2hhbmdlTWUxMjM=untukChangeMe123.CPU_COUNT: jumlah CPU yang tersedia untuk setiap instance database di cluster database ini.MEMORY_SIZE: jumlah memori per instance database dari cluster database ini. Sebaiknya tetapkan nilai ini ke 8 gigabyte per CPU. Misalnya, jika Anda menetapkancpuke2sebelumnya dalam manifes ini, sebaiknya tetapkanmemoryke16Gi.DISK_SIZE: ukuran disk per instance database—misalnya,10Gi.
Setelah menerapkan manifes ini, cluster Kubernetes Anda akan berisi cluster database AlloyDB Omni dengan konfigurasi memori, CPU, dan penyimpanan yang ditentukan. Untuk membuat koneksi pengujian dengan cluster database
baru, lihat Menghubungkan menggunakan psql.
Untuk mengetahui informasi selengkapnya tentang manifes Kubernetes dan cara menerapkannya, lihat Mengelola resource.
Menskalakan cluster database
Untuk menskalakan resource komputasi untuk cluster database, perbarui nilai cpu dan memory dalam manifes db-cluster.yaml, lalu terapkan perubahan. Proses penskalaan bergantung pada apakah Anda memilih operasi penskalaan reguler atau operasi penskalaan dengan waktu nonaktif rendah.
Penskalaan reguler
Saat Anda memperbarui spesifikasi penskalaan dan menerapkan manifes tanpa konfigurasi lebih lanjut, pod database akan langsung dimulai ulang. Hal ini akan menyebabkan waktu nonaktif singkat di seluruh instance utama dan standby saat alokasi resource baru diterapkan.
Penskalaan dengan waktu nonaktif rendah
Untuk cluster ketersediaan tinggi (HA) dengan setidaknya satu standby, Anda dapat meminimalkan waktu nonaktif selama penskalaan menggunakan strategi persiapan dan pengalihan Low Downtime Maintenance (LDTM). Strategi ini menerapkan perubahan penskalaan ke standby terlebih dahulu, melakukan pengalihan cepat, lalu menerapkan perubahan ke instance utama asli. Anda dapat melakukan penskalaan naik atau turun dengan strategi LDTM.
Untuk mengaktifkan dan memantau penskalaan dengan waktu nonaktif rendah, ikuti langkah-langkah berikut:
Aktifkan penskalaan dengan waktu nonaktif rendah. Tambahkan anotasi
enableLDTMke cluster database Anda:kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME dbcluster.dbadmin.goog/enableLDTM=true
Ganti
DB_CLUSTER_NAMEdengan nama cluster database Anda.Terapkan spesifikasi penskalaan yang telah diperbarui. Perbarui nilai
cpudanmemorydi bagianprimarySpec.resourcesdalam manifes Anda, lalu terapkan perubahan:kubectl apply -f db-cluster.yaml
Pantau proses penskalaan. Periksa kondisi status
LDTMScalingInProgressuntuk memantau operasi:kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -o yaml | yq '.status.conditions[] | select(.type == "LDTMScalingInProgress")'
Ganti
DB_CLUSTER_NAMEdengan nama cluster database Anda.Saat proses sedang berlangsung, statusnya adalah
true. Setelah penskalaan selesai, status kondisi akan berubah menjadifalse.
Batasan
- Penskalaan LDTM hanya didukung untuk cluster HA dengan setidaknya satu standby.
- Anda tidak dapat melakukan dua operasi LDTM secara bersamaan. Misalnya, Anda dapat menggunakan LDTM untuk menskalakan cluster database atau melakukan upgrade versi minor, tetapi tidak keduanya secara bersamaan.
- Anda harus melakukan rollback secara manual setelah operasi penskalaan LDTM gagal.
Langkah berikutnya
- Menjalankan dan terhubung ke AlloyDB Omni.
- Mengelola AlloyDB Omni.
- Mengelola ketersediaan tinggi di Kubernetes.
- Membuat cluster yang mendukung TDE.