Si deseas obtener instrucciones para instalar AlloyDB Omni en un entorno Linux estándar, consulta Instala AlloyDB Omni.
Descripción general
Para implementar AlloyDB Omni en un clúster de Kubernetes, instala el operador de AlloyDB Omni, una extensión de la API de Kubernetes proporcionada por Google.
Para configurar y controlar un clúster de base de datos de AlloyDB Omni basado en Kubernetes, debes vincular archivos de manifiesto declarativos con la utilidad kubectl, al igual que con cualquier otra implementación basada en Kubernetes. No usas la CLI de AlloyDB Omni, que está diseñada para implementaciones en máquinas Linux individuales y no en clústeres de Kubernetes.
Imagen base
A partir de la versión 1.5.0, las imágenes de Kubernetes del operador de AlloyDB Omni se compilan sobre la imagen base universal (UBI) 9 de Red Hat. Esta transición mejora la seguridad, la coherencia y el cumplimiento de tus implementaciones.
Compatibilidad con el operador de AlloyDB Omni 1.1.0 (y versiones posteriores)
La versión 1.1.0 del operador de AlloyDB Omni no es compatible con las versiones 15.5.3 y 15.5.4 de AlloyDB Omni. Si usas una de estas versiones de AlloyDB Omni, es posible que recibas un error similar al siguiente:
Error from server (Forbidden): error when creating "[...]/dbcluster.yaml": admission webhook "vdbcluster.alloydbomni.dbadmin.goog" denied the request: unsupported database version 15.5.3
Antes de comenzar
Antes de instalar AlloyDB Omni en un clúster de Kubernetes con el operador de AlloyDB Omni, asegúrate de cumplir con los siguientes requisitos.
Elige una opción de descarga o instalación
Elige una de las siguientes opciones de descarga e instalación:
| Medios | Ubicaciones de descarga y guías de instalación | Implementación en |
|---|---|---|
| Operador de OpenShift con paquete de OLM | Consola web de Openshift Container Platform | Entorno de OpenShift |
| Operador de Kubernetes con paquete de OLM | Artifacthub.io | Tu propio entorno de contenedores de Kubernetes (por ejemplo, en instalaciones locales, nubes públicas, Google Kubernetes Engine, Amazon EKS y Azure AKS) |
| Operador de Kubernetes con gráfico de Helm | Instala AlloyDB Omni en Kubernetes (esta página) | Tu propio entorno de contenedores de Kubernetes (por ejemplo, local, nubes públicas, GKE, Amazon EKS y Azure AKS) |
Verifica el acceso
Verifica que tengas acceso a lo siguiente:
- Un clúster de Kubernetes que ejecuta el siguiente software:
- Kubernetes 1.21 o versiones posteriores
- El servicio
cert-manager.
- La utilidad
kubectl - El administrador de paquetes
helmo el Operator Lifecycle Manager
Cumple con los requisitos de hardware y software
Cada nodo del clúster de Kubernetes debe tener lo siguiente:
- Al menos dos CPUs x86 o AMD64
- Al menos 8 GB de RAM
- Versión 4.18 o posterior del kernel de Linux
- El grupo de control (cgroup) v2 está habilitado.
Instala el operador de AlloyDB Omni
Puedes instalar el operador de AlloyDB Omni con diferentes métodos, incluidos Helm y Operator Lifecycle Manager (OLM).
Helm
Para instalar el operador de AlloyDB Omni, sigue estos pasos:
- Define las siguientes variables de entorno:
export HELM_PATH=$(curl https://storage.googleapis.com/alloydb-omni-operator/latest) export OPERATOR_VERSION="${HELM_PATH%%/*}" - Descarga el operador de 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" - Instala el operador de AlloyDB Omni:
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5mSi la instalación se realiza correctamente, se mostrará el siguiente resultado:
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
- Para realizar la limpieza, borra el archivo de instalación del operador de AlloyDB Omni que descargaste. El archivo se llama
alloydbomni-operator-VERSION_NUMBER.tgzy se encuentra en tu directorio de trabajo actual.
OLM
Para instalar el operador de AlloyDB Omni con Operator Lifecycle Manager, sigue estos pasos:
Navega a https://operatorhub.io/operator/alloydb-omni-operator.
Haz clic en el botón Install para mostrar las instrucciones.
Completa todos los pasos de instalación.
Después de instalar el operador de AlloyDB Omni, crea manualmente los recursos de cert-manager en tu clúster. Esto es obligatorio. Usa los siguientes comandos:
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
Reemplaza
NAMESPACEpor el espacio de nombres en el que tienes tu operador, por ejemplo,alloydb-omni-system.
OLM
Para instalar el operador de AlloyDB Omni en tu entorno de Red Hat OpenShift con OLM, accede a tu consola web de Red Hat OpenShift.
Selecciona Operators > OperatorHub.
Busca el operador de AlloyDB Omni con el campo de búsqueda.
Figura 1: El operador de AlloyDB Omni en OperatorHub En el panel del operador de AlloyDB Omni, haz clic en Install.
Figura 2: Panel del operador de AlloyDB Omni Después de instalar el operador de AlloyDB Omni, crea manualmente los recursos de cert-manager en tu clúster. Esto es obligatorio. Usa los siguientes comandos:
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
Reemplaza
NAMESPACEpor el espacio de nombres en el que tienes tu operador, por ejemplo,alloydb-omni-system.
Configura el almacenamiento conectado de GDC
Para instalar el operador de AlloyDB Omni en GDC connected, debes seguir pasos adicionales para configurar el almacenamiento, ya que los clústeres de GDC connected no establecen una clase de almacenamiento predeterminada. Debes establecer una clase de almacenamiento predeterminada antes de crear un clúster de base de datos de AlloyDB Omni.
Para aprender a configurar Symcloud Storage como la clase de almacenamiento predeterminada, consulta Cómo configurar Symcloud Storage como la clase de almacenamiento predeterminada.
Para obtener más información sobre cómo cambiar el valor predeterminado de todas las demás clases de almacenamiento, consulta Cambia el recurso StorageClass predeterminado.
Crea un clúster de base de datos
Un clúster de base de datos de AlloyDB Omni contiene todos los recursos de almacenamiento y procesamiento necesarios para ejecutar un servidor de AlloyDB Omni, incluido el servidor principal, las réplicas y todos tus datos.
Para crear un clúster de base de datos de AlloyDB Omni, sigue estos pasos:
Crea un espacio de nombres dedicado para tu clúster de base de datos. Esto mejora el aislamiento y la seguridad.
kubectl create namespace DB_CLUSTER_NAMESPACEReemplaza
DB_CLUSTER_NAMESPACEpor el espacio de nombres en el que deseas crear el clúster de base de datos, por ejemplo,my-db-cluster-namespace.Crea un archivo de manifiesto llamado
db-cluster.yamlcon el siguiente contenido. Este manifiesto define tanto el secreto para la contraseña de la base de datos como el recurso DBCluster en sí.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_SIZEReemplaza lo siguiente:
DB_CLUSTER_NAME: Es el nombre de este clúster de bases de datos, por ejemplo,my-db-cluster.ENCODED_PASSWORD: Es la contraseña de acceso a la base de datos para el rol de usuariopostgrespredeterminado, codificada como una cadena en base64 (por ejemplo,Q2hhbmdlTWUxMjM=paraChangeMe123).CPU_COUNT: Es la cantidad de CPU disponibles para cada instancia de base de datos en este clúster de bases de datos.MEMORY_SIZE: Es la cantidad de memoria por instancia de base de datos de este clúster de bases de datos. Te recomendamos que establezcas este valor en 8 gigabytes por CPU. Por ejemplo, si establecistecpuen2anteriormente en este manifiesto, te recomendamos que establezcasmemoryen16Gi.DISK_SIZE: Es el tamaño del disco por instancia de base de datos, por ejemplo,10Gi.
Aplica el manifiesto a tu clúster de Kubernetes:
kubectl apply -f db-cluster.yaml
Después de aplicar este manifiesto, tu clúster de Kubernetes contendrá un clúster de base de datos de AlloyDB Omni con la configuración de memoria, CPU y almacenamiento especificada. Para establecer una conexión de prueba con el nuevo clúster de base de datos, consulta Conéctate con psql preinstalado.
Para obtener más información sobre los manifiestos de Kubernetes y cómo aplicarlos, consulta Administración de recursos.
¿Qué sigue?
- Ejecuta AlloyDB Omni y conéctate a él
- Administra AlloyDB Omni
- Administra la alta disponibilidad en Kubernetes