Installer AlloyDB Omni sur Kubernetes

Sélectionnez une version de la documentation :

Cette page présente l'opérateur Kubernetes AlloyDB Omni et explique comment l'utiliser pour déployer AlloyDB Omni sur un cluster Kubernetes. Cette page part du principe que vous connaissez les opérations Kubernetes de base.

Pour obtenir des instructions sur l'installation d'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 base 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 la CLI 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 remplir les conditions 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 :

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 :

  1. Définissez les variables d'environnement suivantes :
    export GCS_BUCKET=alloydb-omni-operator
    export HELM_PATH=$(gcloud storage cat gs://$GCS_BUCKET/latest)
    export OPERATOR_VERSION="${HELM_PATH%%/*}"
    
  2. Téléchargez l'opérateur AlloyDB Omni :
    gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
    
  3. Installez l'opérateur AlloyDB Omni :
    helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \
    --create-namespace \
    --namespace alloydb-omni-system \
    --atomic \
    --timeout 5m
    

    Si 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
    
  4. 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.tgz et 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 :

  1. Accédez à https://operatorhub.io/operator/alloydb-omni-operator.

  2. Cliquez sur le bouton Install (Installer) pour afficher les instructions.

  3. Suivez toutes les étapes d'installation.

  4. 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 NAMESPACE par l'espace de noms dans lequel se trouve votre opérateur, par exemple alloydb-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.

  1. Sélectionnez Opérateurs > OperatorHub.

  2. Recherchez l'opérateur AlloyDB Omni à l'aide du champ de recherche.

    Hub d&#39;opérateurs AlloyDB Omni
    Figure 1 : L'opérateur AlloyDB Omni dans OperatorHub
  3. Dans le volet de l'opérateur AlloyDB Omni, cliquez sur Install (Installer).

    Volet de l&#39;opérateur AlloyDB Omni
    Figure 2 : Volet de l'opérateur AlloyDB Omni
  4. 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 NAMESPACE par l'espace de noms dans lequel se trouve votre opérateur, par exemple alloydb-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.

Après avoir installé l'opérateur AlloyDB Omni sur votre cluster Kubernetes, vous pouvez créer un cluster de bases de données AlloyDB Omni sur le cluster Kubernetes en appliquant un fichier manifeste semblable à celui-ci :

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

Remplacez les éléments suivants :

  • DB_CLUSTER_NAME : nom de ce cluster de bases de données, par exemple my-db-cluster.

  • DB_CLUSTER_NAMESPACE (facultatif) : espace de noms dans lequel vous souhaitez créer le cluster de bases de données (par exemple, my-db-cluster-namespace).

  • ENCODED_PASSWORD : mot de passe de connexion à la base de données pour le rôle utilisateur postgres par défaut, encodé sous forme de chaîne base64 (par exemple, Q2hhbmdlTWUxMjM= pour ChangeMe123).

  • 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éfini cpu sur 2 plus haut dans ce fichier manifeste, nous vous recommandons de définir memory sur 16Gi.

  • DISK_SIZE : taille du disque par instance de base de données, par exemple 10Gi.

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