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 Alat CLI AlloyDB Omni, yang ditujukan untuk deployment ke masing-masing mesin Linux, bukan cluster Kubernetes.
Gambar dasar
Mulai versi 1.5.0, image Kubernetes operator AlloyDB Omni dibangun di atas 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 | Bawa lingkungan penampung Kubernetes Anda sendiri—misalnya, di tempat, 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:
- 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.
- 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:
- Tentukan variabel lingkungan berikut:
export HELM_PATH=$(curl https://storage.googleapis.com/alloydb-omni-operator/latest) export OPERATOR_VERSION="${HELM_PATH%%/*}" - Download operator AlloyDB Omni:
curl -X GET -o "./alloydbomni-operator-${OPERATOR_VERSION}.tgz" "https://storage.googleapis.com/storage/v1/b/alloydb-omni-operator/o/$(echo ${HELM_PATH} | sed 's/\//%2F/g')?alt=media" - Instal operator AlloyDB Omni:
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5mPenginstalan yang berhasil akan menampilkan output berikut:
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
- 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:
Klik tombol Install untuk menampilkan petunjuk.
Selesaikan semua langkah penginstalan.
Langkah ini bersifat opsional jika Anda menggunakan penerbit sertifikat kustom. Jika tidak, Anda harus menginstal penerbit sertifikat default dengan menjalankan perintah 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
NAMESPACEdengan 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.
Pilih Operators > OperatorHub.
Temukan operator AlloyDB Omni menggunakan kolom penelusuran.
Gambar 1: Operator AlloyDB Omni di OperatorHub Di panel operator AlloyDB Omni, klik Install.
Gambar 2: Panel operator AlloyDB Omni Langkah ini bersifat opsional jika Anda menggunakan penerbit sertifikat kustom. Jika tidak, Anda harus menginstal penerbit sertifikat default dengan menjalankan perintah 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
NAMESPACEdengan namespace tempat Anda memiliki operator—misalnya,alloydb-omni-system.
Mengonfigurasi penyimpanan yang terhubung GDC
Untuk menginstal operator AlloyDB Omni di GDC connected, Anda harus mengikuti langkah-langkah tambahan untuk mengonfigurasi penyimpanan karena cluster GDC connected tidak menetapkan class 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 resource penyimpanan dan penghitungan yang diperlukan untuk menjalankan server AlloyDB Omni, termasuk server utama, replika, dan semua data Anda.
Untuk membuat cluster database AlloyDB Omni, ikuti langkah-langkah berikut:
Buat namespace khusus untuk cluster database Anda. Hal ini meningkatkan isolasi dan keamanan.
kubectl create namespace DB_CLUSTER_NAMESPACEGanti
DB_CLUSTER_NAMESPACEdengan namespace tempat Anda ingin membuat cluster database—misalnya,my-db-cluster-namespace.Buat file manifes bernama
db-cluster.yamldengan konten berikut. Manifes ini menentukan rahasia untuk sandi database dan resource DBCluster itu sendiri.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: "17.5.0" # Optional: Specify the base OS type for the database image. # Valid values are "Debian" and "UBI9". # If not specified, the operator defaults to "Debian" for databaseVersion < 16.9.0 # and "UBI9" for databaseVersion 16.9.0 or later. # databaseImageOSType: "OS_TYPE" primarySpec: adminUser: passwordRef: name: db-pw-DB_CLUSTER_NAME resources: cpu: CPU_COUNT memory: MEMORY_SIZE disks: - name: DataDisk size: DISK_SIZEGanti kode berikut:
DB_CLUSTER_NAME: nama cluster database ini—misalnya,my-db-cluster.OS_TYPE: Opsional. Jenis sistem operasi dasar untuk image database. Nilai yang valid adalahDebiandanUBI9. Jika Anda tidak menentukannya, operator akan otomatis menyetelnya keDebianjikadatabaseVersionkurang dari16.9.0, dan keUBI9jikadatabaseVersionadalah16.9.0atau yang lebih baru.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 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 menetapkancpuke2sebelumnya dalam manifes ini, sebaiknya tetapkanmemoryke16Gi.DISK_SIZE: ukuran disk per instance database—misalnya,10Gi.
Terapkan manifes ke cluster Kubernetes Anda:
kubectl apply -f db-cluster.yaml
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
- Menjalankan dan menghubungkan ke AlloyDB Omni
- Mengelola AlloyDB Omni
- Mengelola ketersediaan tinggi di Kubernetes