Pour savoir comment installer AlloyDB Omni dans un environnement Linux standard, consultez Installer AlloyDB Omni.
Présentation
Pour déployer AlloyDB Omni sur un cluster Kubernetes, installez l'opérateur AlloyDB Omni, une extension de l'API Kubernetes fournie par Google.
Vous configurez et contrôlez un cluster de bases de données AlloyDB Omni basé sur Kubernetes en associant des fichiers manifestes déclaratifs à l'utilitaire kubectl, comme pour tout autre déploiement basé sur Kubernetes. Vous n'utilisez pas l'interface de ligne de commande AlloyDB Omni, qui est destinée aux déploiements sur des machines Linux individuelles et non sur des clusters Kubernetes.
Image de base
À partir de la version 1.5.0, les images Kubernetes de l'opérateur AlloyDB Omni sont basées sur l'image de base universelle (UBI) 9 de Red Hat. Cette transition améliore la sécurité, la cohérence et la conformité de vos déploiements.
Compatibilité de l'opérateur AlloyDB Omni 1.1.0 (et versions ultérieures)
La version 1.1.0 de l'opérateur AlloyDB Omni n'est pas compatible avec les versions 15.5.3 et 15.5.4 d'AlloyDB Omni. Si vous utilisez l'une de ces versions d'AlloyDB Omni, un message d'erreur semblable à celui-ci peut s'afficher :
Error from server (Forbidden): error when creating "[...]/dbcluster.yaml": admission webhook "vdbcluster.alloydbomni.dbadmin.goog" denied the request: unsupported database version 15.5.3
Avant de commencer
Avant d'installer AlloyDB Omni sur un cluster Kubernetes avec l'opérateur AlloyDB Omni, assurez-vous de respecter les exigences suivantes.
Choisir une option de téléchargement ou d'installation
Choisissez l'une des options de téléchargement et d'installation suivantes :
| Médias | Emplacements de téléchargement et guides d'installation | Déploiement vers |
|---|---|---|
| Opérateur OpenShift avec le bundle OLM | Console Web Openshift Container Platform | Environnement OpenShift |
| Opérateur Kubernetes avec le bundle OLM | Artifacthub.io | Apportez votre propre environnement de conteneurs Kubernetes (par exemple, sur site, dans des clouds publics, Google Kubernetes Engine, Amazon EKS et Azure AKS). |
| Opérateur Kubernetes avec chart Helm | Installer AlloyDB Omni sur Kubernetes (cette page) | Apportez votre propre environnement de conteneurs Kubernetes (par exemple, sur site, dans des clouds publics, sur GKE, Amazon EKS et Azure AKS). |
Vérifier l'accès
Vérifiez que vous avez accès aux éléments suivants :
- Un cluster Kubernetes exécutant les logiciels suivants :
- Version 1.21 de Kubernetes ou ultérieure.
- Le service
cert-manager.
- L'utilitaire
kubectl. - Le gestionnaire de packages
helmou Operator Lifecycle Manager.
Répondre aux exigences matérielles et logicielles
Chaque nœud du cluster Kubernetes doit disposer des éléments suivants :
- Au moins deux processeurs x86 ou AMD64.
- Au moins 8 Go de RAM.
- Version 4.18 ou ultérieure du noyau Linux.
- Le groupe de contrôle (cgroup) v2 est activé.
Installer l'opérateur AlloyDB Omni
Vous pouvez installer l'opérateur AlloyDB Omni à l'aide de différentes méthodes, y compris Helm et Operator Lifecycle Manager (OLM).
Helm
Pour installer l'opérateur AlloyDB Omni, procédez comme suit :
- Définissez les variables d'environnement suivantes :
export HELM_PATH=$(curl https://storage.googleapis.com/alloydb-omni-operator/latest) export OPERATOR_VERSION="${HELM_PATH%%/*}" - Téléchargez l'opérateur 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" - Installez l'opérateur AlloyDB Omni :
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5mSi l'installation aboutit, la sortie suivante devrait s'afficher :
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
- Pour effectuer le nettoyage, supprimez le fichier d'installation de l'opérateur AlloyDB Omni que vous avez téléchargé. Le fichier est nommé
alloydbomni-operator-VERSION_NUMBER.tgzet se trouve dans votre répertoire de travail actuel.
OLM
Pour installer l'opérateur AlloyDB Omni à l'aide d'Operator Lifecycle Manager, procédez comme suit :
Accédez à https://operatorhub.io/operator/alloydb-omni-operator.
Cliquez sur le bouton Install (Installer) pour afficher les instructions.
Suivez toutes les étapes de l'installation.
Après avoir installé l'opérateur AlloyDB Omni, créez manuellement les ressources cert-manager dans votre cluster. Il s'agit d'une exigence. Utilisez ces commandes .
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
Remplacez
NAMESPACEpar l'espace de noms dans lequel se trouve votre opérateur, par exemplealloydb-omni-system.
OLM
Pour installer l'opérateur AlloyDB Omni dans votre environnement Red Hat OpenShift à l'aide d'OLM, connectez-vous à votre console Web Red Hat OpenShift.
Sélectionnez Opérateurs > OperatorHub.
Recherchez l'opérateur AlloyDB Omni à l'aide du champ de recherche.
Figure 1 : L'opérateur AlloyDB Omni dans OperatorHub Dans le volet de l'opérateur AlloyDB Omni, cliquez sur Install (Installer).
Figure 2 : Volet de l'opérateur AlloyDB Omni Après avoir installé l'opérateur AlloyDB Omni, créez manuellement les ressources cert-manager dans votre cluster. Il s'agit d'une exigence. Utilisez ces commandes .
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
Remplacez
NAMESPACEpar l'espace de noms dans lequel se trouve votre opérateur, par exemplealloydb-omni-system.
Configurer le stockage GDC connecté
Pour installer l'opérateur AlloyDB Omni sur GDC Connected, vous devez suivre des étapes supplémentaires pour configurer le stockage, car les clusters GDC Connected ne définissent pas de classe de stockage par défaut. Vous devez définir une classe de stockage par défaut avant de créer un cluster de bases de données AlloyDB Omni.
Pour savoir comment définir Symcloud Storage comme classe de stockage par défaut, consultez Définir Symcloud Storage comme classe de stockage par défaut.
Pour savoir comment modifier la classe de stockage par défaut pour toutes les autres classes de stockage, consultez Modifier la ressource StorageClass par défaut.
Créer un cluster de bases de données
Un cluster de bases de données AlloyDB Omni contient toutes les ressources de stockage et de calcul nécessaires à l'exécution d'un serveur AlloyDB Omni, y compris le serveur principal, les réplicas et toutes vos données.
Pour créer un cluster de base de données AlloyDB Omni, procédez comme suit :
Créez un espace de noms dédié pour votre cluster de bases de données. Cela améliore l'isolation et la sécurité.
kubectl create namespace DB_CLUSTER_NAMESPACERemplacez
DB_CLUSTER_NAMESPACEpar l'espace de noms dans lequel vous souhaitez créer le cluster de bases de données (par exemple,my-db-cluster-namespace).Créez un fichier manifeste nommé
db-cluster.yamlavec le contenu suivant. Ce fichier manifeste définit à la fois le secret pour le mot de passe de la base de données et la ressource DBCluster elle-même.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_SIZERemplacez les éléments suivants :
DB_CLUSTER_NAME: nom de ce cluster de bases de données, par exemplemy-db-cluster.OS_TYPE: facultatif. Type de système d'exploitation de base pour l'image de base de données. Les valeurs valides sontDebianetUBI9. Si vous ne le spécifiez pas, l'opérateur le définit automatiquement surDebiansidatabaseVersionest inférieur à16.9.0, et surUBI9sidatabaseVersionest égal ou supérieur à16.9.0.ENCODED_PASSWORD: mot de passe de connexion à la base de données pour le rôle utilisateurpostgrespar défaut, encodé sous forme de chaîne base64 (par exemple,Q2hhbmdlTWUxMjM=pourChangeMe123).CPU_COUNT: nombre de processeurs disponibles pour chaque instance de base de données de ce cluster de bases de données.MEMORY_SIZE: quantité de mémoire par instance de base de données de ce cluster de bases de données. Nous vous recommandons de définir cette valeur sur 8 gigaoctets par processeur. Par exemple, si vous avez définicpusur2plus haut dans ce fichier manifeste, nous vous recommandons de définirmemorysur16Gi.DISK_SIZE: taille de disque par instance de base de données (par exemple,10Gi).
Appliquez le fichier manifeste à votre cluster Kubernetes :
kubectl apply -f db-cluster.yaml
Une fois ce fichier manifeste appliqué, votre cluster Kubernetes contient un cluster de bases de données AlloyDB Omni avec la configuration de mémoire, de processeur et de stockage spécifiée. Pour établir une connexion de test avec le nouveau cluster de bases de données, consultez Se connecter à l'aide de psql préinstallé.
Pour en savoir plus sur les fichiers manifestes Kubernetes et sur la façon de les appliquer, consultez Gérer les ressources.
Étapes suivantes
- Exécuter AlloyDB Omni et s'y connecter
- Gérer AlloyDB Omni
- Gérer la haute disponibilité dans Kubernetes