Menginstal AlloyDB Omni di Kubernetes

Pilih versi dokumentasi:

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

Untuk mengetahui petunjuk 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, 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 AlloyDB Omni CLI, yang ditujukan untuk deployment ke masing-masing mesin Linux, bukan cluster Kubernetes.

Gambar dasar

Mulai dari 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.

Kompatibilitas operator AlloyDB Omni 1.1.0 (dan yang lebih baru)

Operator AlloyDB Omni versi 1.1.0 tidak kompatibel dengan AlloyDB Omni versi 15.5.3 dan 15.5.4. Jika Anda menggunakan salah satu versi AlloyDB Omni ini, Anda mungkin menerima error yang serupa dengan berikut:

Error from server (Forbidden): error when creating "[...]/dbcluster.yaml": admission webhook "vdbcluster.alloydbomni.dbadmin.goog" denied the request: unsupported database version 15.5.3

Sebelum memulai

Sebelum menginstal AlloyDB Omni di cluster Kubernetes dengan operator AlloyDB Omni, pastikan Anda memenuhi persyaratan berikut.

Memilih opsi download atau penginstalan

Pilih salah satu opsi download dan penginstalan berikut:

Media Lokasi download dan panduan penginstalan Deployment ke
Operator OpenShift dengan Paket OLM Konsol Web Openshift Container Platform Lingkungan OpenShift
Operator Kubernetes dengan paket OLM Artifacthub.io Lingkungan penampung Kubernetes Anda sendiri—misalnya, di lokal, cloud publik, Google Kubernetes Engine, Amazon EKS, dan Azure AKS.
Operator Kubernetes dengan Chart Helm Menginstal AlloyDB Omni di Kubernetes (halaman ini) Lingkungan penampung Kubernetes Anda sendiri—misalnya, di infrastruktur lokal, cloud publik, GKE, Amazon EKS, dan Azure AKS.

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.
  • Kernel Linux versi 4.18 atau yang lebih baru.
  • Grup kontrol (cgroup) v2 diaktifkan.

Menginstal operator AlloyDB Omni

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. Tentukan variabel lingkungan berikut:
    export GCS_BUCKET=alloydb-omni-operator
    export HELM_PATH=$(gcloud storage cat gs://$GCS_BUCKET/latest)
    export OPERATOR_VERSION="${HELM_PATH%%/*}"
    
  2. Download operator AlloyDB Omni:
    gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
    
  3. Instal operator AlloyDB Omni:
    helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \
    --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
    
  4. Untuk membersihkan, hapus file penginstalan operator AlloyDB Omni yang didownload. File ini diberi nama alloydbomni-operator-VERSION_NUMBER.tgz, dan terletak di direktori kerja Anda saat ini.

OLM

Untuk menginstal operator AlloyDB Omni menggunakan Operator Lifecycle Manager, ikuti langkah-langkah berikut:

  1. Buka https://operatorhub.io/operator/alloydb-omni-operator.

  2. Klik tombol Instal untuk menampilkan petunjuk.

  3. Selesaikan semua langkah penginstalan.

  4. Setelah menginstal operator AlloyDB Omni, buat resource cert-manager secara manual di cluster Anda. Ini adalah persyaratan. Gunakan command berikut:

    kubectl create ns ${NAMESPACE:?}
    kubectl apply -f - <<EOF
    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: alloydbomni-selfsigned-cluster-issuer
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: fleet-selfsigned-issuer
      namespace: ${NAMESPACE:?}
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: fleet-serving-cert
      namespace: ${NAMESPACE:?}
    spec:
      dnsNames:
      - fleet-webhook-service.alloydb-omni-system.svc
      - fleet-webhook-service.alloydb-omni-system.svc.cluster.local
      issuerRef:
        kind: Issuer
        name: fleet-selfsigned-issuer
      secretName: fleet-webhook-server-cert
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: local-selfsigned-issuer
      namespace: ${NAMESPACE:?}
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: local-serving-cert
      namespace: ${NAMESPACE:?}
    spec:
      dnsNames:
      - local-webhook-service.alloydb-omni-system.svc
      - local-webhook-service.alloydb-omni-system.svc.cluster.local
      issuerRef:
        kind: Issuer
        name: local-selfsigned-issuer
      secretName: local-webhook-server-cert
    EOF

    Ganti NAMESPACE dengan namespace tempat Anda memiliki operator—misalnya, alloydb-omni-system.

OLM

Untuk menginstal operator AlloyDB Omni di lingkungan Red Hat OpenShift menggunakan OLM, login ke konsol web Red Hat OpenShift.

  1. Pilih Operators > OperatorHub.

  2. Temukan operator AlloyDB Omni menggunakan kolom penelusuran.

    Hub Operator AlloyDB Omni
    Gambar 1: Operator AlloyDB Omni di OperatorHub
  3. Di panel operator AlloyDB Omni, klik Install.

    Panel Operator AlloyDB Omni
    Gambar 2: Panel operator AlloyDB Omni
  4. Setelah menginstal operator AlloyDB Omni, buat resource cert-manager secara manual di cluster Anda. Ini adalah persyaratan. Gunakan command berikut:

    kubectl create ns ${NAMESPACE:?}
    kubectl apply -f - <<EOF
    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: alloydbomni-selfsigned-cluster-issuer
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: fleet-selfsigned-issuer
      namespace: ${NAMESPACE:?}
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: fleet-serving-cert
      namespace: ${NAMESPACE:?}
    spec:
      dnsNames:
      - fleet-webhook-service.alloydb-omni-system.svc
      - fleet-webhook-service.alloydb-omni-system.svc.cluster.local
      issuerRef:
        kind: Issuer
        name: fleet-selfsigned-issuer
      secretName: fleet-webhook-server-cert
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: local-selfsigned-issuer
      namespace: ${NAMESPACE:?}
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: local-serving-cert
      namespace: ${NAMESPACE:?}
    spec:
      dnsNames:
      - local-webhook-service.alloydb-omni-system.svc
      - local-webhook-service.alloydb-omni-system.svc.cluster.local
      issuerRef:
        kind: Issuer
        name: local-selfsigned-issuer
      secretName: local-webhook-server-cert
    EOF

    Ganti NAMESPACE dengan namespace tempat Anda memiliki operator—misalnya, alloydb-omni-system.

Mengonfigurasi penyimpanan yang terhubung ke GDC

Untuk menginstal operator AlloyDB Omni di GDC yang terhubung, Anda harus mengikuti langkah-langkah tambahan untuk mengonfigurasi penyimpanan karena cluster yang terhubung ke GDC tidak menetapkan class penyimpanan default. Anda harus menetapkan 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
  namespace: DB_CLUSTER_NAMESPACE
type: Opaque
data:
  DB_CLUSTER_NAME: "ENCODED_PASSWORD"
---
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
  name: DB_CLUSTER_NAME
  namespace: DB_CLUSTER_NAMESPACE
spec:
  databaseVersion: "16.8.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.

  • DB_CLUSTER_NAMESPACE (Opsional): namespace tempat Anda ingin membuat cluster database—misalnya, my-db-cluster-namespace.

  • 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 setelan 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.

Langkah berikutnya