Menginstal AlloyDB Omni menggunakan orkestrator container

Pilih versi dokumentasi:

Halaman ini memberikan ringkasan operator AlloyDB Omni Kubernetes, dengan petunjuk untuk menggunakannya guna men-deploy AlloyDB Omni ke cluster Kubernetes. Halaman ini mengasumsikan Anda telah memiliki pengetahuan dasar tentang operasi Kubernetes.

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 menyandingkan file manifes deklaratif dengan utilitas kubectl, seperti deployment berbasis Kubernetes lainnya. Anda tidak menggunakan CLI AlloyDB Omni, yang ditujukan untuk deployment ke masing-masing mesin Linux, bukan ke cluster Kubernetes.

Gambar dasar

Mulai dari versi 1.5.0, image Kubernetes operator AlloyDB Omni dibangun berdasarkan Universal Base Image (UBI) 9 Red Hat. Transisi ini meningkatkan keamanan, konsistensi, dan kepatuhan untuk deployment Anda.

Referensi gambar ringkasan SHA

Untuk mencegah serangan rantai pasokan dan memenuhi persyaratan Sertifikasi OpenShift, operator AlloyDB Omni menggunakan ringkasan SHA-256, bukan tag versi untuk semua referensi image penampung.

  • Upgrade Otomatis: operator AlloyDB Omni menggunakan ImageCatalog internal untuk mengelola ringkasan ini dan memastikan rollback bidang data yang andal selama upgrade gagal.

  • Pengaktifan: meskipun diaktifkan secara default untuk paket Bersertifikasi OpenShift, pengguna paket OLM atau Helm dapat mengaktifkan referensi ringkasan secara manual dengan menyetel variabel lingkungan ENABLE_DIGEST_IMAGE_REFS ke true menggunakan konfigurasi Langganan untuk OLM atau nilai enableDigestImageRefs dalam 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 Helm Chart Menginstal AlloyDB Omni di Kubernetes Lingkungan container Kubernetes Anda sendiri—misalnya, di infrastruktur 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 Bawa lingkungan penampung Kubernetes Anda sendiri—misalnya, di lokasi, cloud publik, Google Kubernetes Engine, Amazon EKS, dan Azure AKS.

Untuk menggunakan paket OLM, instal OLM di cluster Kubernetes sebelum Anda 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 bawaannya untuk mengemas dan men-deploy operator.

Memverifikasi akses

Pastikan Anda memiliki akses ke hal berikut:

Memenuhi persyaratan hardware dan software

Setiap node di cluster Kubernetes harus memiliki hal berikut:

  • Minimal dua CPU x86 atau AMD64.
  • Minimum RAM 8 GB.
  • Versi kernel Linux 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:

  1. Instal operator AlloyDB Omni dari registry OCI:
    helm install alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \
    --version 1.8.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:

  1. Buka halaman AlloyDB Omni Operator.

  2. Klik Instal. Jika Anda belum melakukannya, ikuti petunjuk untuk menginstal hanya operator OLM dan katalog OperatorHub.io.

  3. Buat namespace alloydb-omni-system jika belum ada.

    kubectl create ns alloydb-omni-system
    
  4. Siapkan OLM OperatorGroup 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
    
  5. 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
    
  6. Instal sertifikat default ClusterIssuer. 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:

  1. Login ke konsol web Red Hat OpenShift Anda.
  2. Untuk pengguna offline atau yang terputus, Anda harus mencerminkan gambar yang diperlukan secara manual ke registry pribadi menggunakan alat yang mempertahankan ringkasan SHA, seperti oc image mirror. Anda harus mengonfigurasi ImageDigestMirrorSet untuk mengalihkan pengambilan image dari repositori gcr.io publik ke registry pribadi Anda. Hal ini memastikan bahwa operator AlloyDB Omni dapat menarik image yang diperlukan menggunakan ringkasan SHA256 yang tidak dapat diubah.
  3. Di konsol web OpenShift, buka Operators > OperatorHub. AlloyDB Omni Operator tercantum dalam katalog Certified dan Community.

  4. Di panel operator AlloyDB Omni, klik Install.

  5. Instal sertifikat default ClusterIssuer dengan 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 GDC terhubung

Untuk menginstal operator AlloyDB Omni di GDC terhubung, Anda harus mengikuti langkah-langkah tambahan untuk mengonfigurasi penyimpanan karena cluster GDC terhubung tidak menetapkan kelas penyimpanan default. Anda harus menyetel class penyimpanan default sebelum membuat cluster database AlloyDB Omni.

Untuk mempelajari cara menetapkan Symcloud Storage sebagai kelas penyimpanan default, lihat Menetapkan Symcloud Storage sebagai kelas penyimpanan default.

Untuk mengetahui informasi selengkapnya tentang cara mengubah default untuk semua kelas penyimpanan lainnya, lihat Mengubah StorageClass default.

Membuat cluster database

Cluster database AlloyDB Omni berisi semua penyimpanan dan resource komputasi yang diperlukan untuk menjalankan server AlloyDB Omni, termasuk server utama, replika, dan semua data Anda.

Setelah 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.3.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 pengguna postgres default, yang dienkode sebagai string base64—misalnya, Q2hhbmdlTWUxMjM= untuk ChangeMe123.

  • CPU_COUNT: jumlah CPU yang tersedia untuk setiap instance database dalam cluster database ini.

  • MEMORY_SIZE: jumlah memori per instance database dari cluster database ini. Sebaiknya tetapkan ini ke 8 gigabyte per CPU. Misalnya, jika Anda menetapkan cpu ke 2 sebelumnya dalam manifes ini, sebaiknya tetapkan memory ke 16Gi.

  • DISK_SIZE: ukuran disk per instance database—misalnya, 10Gi.

Setelah Anda 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 yang sudah diinstal sebelumnya.

Untuk mengetahui informasi selengkapnya tentang manifes Kubernetes dan cara menerapkannya, lihat Mengelola resource.

Menskalakan cluster database

Untuk menskalakan resource komputasi untuk cluster database Anda, perbarui nilai cpu dan memory dalam manifes db-cluster.yaml Anda dan terapkan perubahan. Proses penskalaan bergantung pada apakah Anda memilih operasi penskalaan reguler atau operasi penskalaan dengan periode nonaktif yang singkat.

Penskalaan reguler

Saat Anda memperbarui spesifikasi penskalaan dan menerapkan manifes tanpa konfigurasi lebih lanjut, pod database akan dimulai ulang secara instan. Hal ini menyebabkan periode nonaktif singkat di seluruh instance primer dan standby saat alokasi resource baru diterapkan.

Penskalaan dengan periode nonaktif rendah

Untuk cluster ketersediaan tinggi (HA) dengan minimal satu standby, Anda dapat meminimalkan waktu non-operasional selama penskalaan menggunakan strategi penyiapan dan pengalihan Pemeliharaan Waktu Non-Operasional Rendah (LDTM). Strategi ini menerapkan perubahan penskalaan ke instance standby terlebih dahulu, melakukan pengalihan cepat, lalu menerapkan perubahan ke instance utama asli. Anda dapat meningkatkan atau menurunkan skala dengan strategi LDTM.

Untuk mengaktifkan dan memantau penskalaan dengan waktu henti singkat, ikuti langkah-langkah berikut:

  1. Aktifkan penskalaan dengan periode nonaktif rendah. Tambahkan anotasi enableLDTM ke cluster database Anda:

    kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME dbcluster.dbadmin.goog/enableLDTM=true
    

    Ganti DB_CLUSTER_NAME dengan nama cluster database Anda.

  2. Terapkan spesifikasi penskalaan yang telah diperbarui. Perbarui nilai cpu dan memory di bawah primarySpec.resources dalam manifes Anda, lalu terapkan perubahan:

    kubectl apply -f db-cluster.yaml
    
  3. Pantau proses penskalaan. Periksa kondisi status LDTMScalingInProgress untuk memantau operasi:

    kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -o yaml | yq '.status.conditions[] | select(.type == "LDTMScalingInProgress")'
    

    Ganti DB_CLUSTER_NAME dengan nama cluster database Anda.

    Saat proses sedang berlangsung, statusnya adalah true. Setelah penskalaan selesai, status kondisi akan berubah menjadi false.

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 roll back secara manual setelah operasi penskalaan LDTM gagal.

Langkah berikutnya