Créer un cluster pour exécuter des charges de travail de conteneurs

Créez un cluster d'utilisateur pour permettre le déploiement de charges de travail de conteneurs.

Avant de commencer

Pour obtenir les autorisations nécessaires pour créer un cluster d'utilisateur, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Administrateur de cluster d'utilisateur (rôle user-cluster-admin).

Créer un cluster d'utilisateur

Pour obtenir les autorisations nécessaires pour créer un cluster d'utilisateur, demandez à votre administrateur IAM de vous accorder le rôle Administrateur de cluster d'utilisateur (rôle user-cluster-admin).

Pour créer un cluster d'utilisateur, procédez comme suit :

Console

  1. Dans le menu de navigation, sélectionnez Clusters.

  2. Cliquez sur Créer un cluster.

  3. Dans le champ Nom, spécifiez un nom pour le cluster d'utilisateur.

  4. Sélectionnez la version du cluster GDC. Chaque version correspond à une version distincte de Kubernetes.

  5. Cliquez sur Suivant.

  6. Configurez les paramètres réseau de votre cluster. Vous ne pouvez pas modifier ces paramètres réseau après avoir créé le cluster. Le protocole Internet par défaut et unique compatible avec les clusters d'utilisateur est le protocole Internet version 4 (IPv4).

    1. Si vous souhaitez créer des nœuds d'équilibreur de charge dédiés, saisissez le nombre de nœuds à créer. Par défaut, vous ne recevez aucun nœud et le trafic de l'équilibreur de charge transite par les nœuds de contrôle.

    2. Sélectionnez le CIDR de service (Classless Inter-Domain Routing) à utiliser. Les adresses IP de vos services déployés, tels que les équilibreurs de charge, sont allouées à partir de cette plage.

    3. Sélectionnez le CIDR du pod à utiliser. Le cluster alloue des adresses IP de cette plage à vos pods et VM.

    4. Cliquez sur Suivant.

  7. Examinez les détails du pool de nœuds par défaut généré automatiquement pour le cluster d'utilisateur. Cliquez sur Modifier pour modifier le pool de nœuds par défaut.

  8. Pour créer d'autres pools de nœuds, sélectionnez Ajouter un pool de nœuds. Lorsque vous modifiez le pool de nœuds par défaut ou que vous en ajoutez un, vous pouvez le personnaliser à l'aide des options suivantes :

    1. Attribuez un nom au pool de nœuds. Vous ne pouvez pas modifier le nom après avoir créé le pool de nœuds.
    2. Spécifiez le nombre de nœuds de calcul à créer dans le pool de nœuds.
    3. Sélectionnez la classe de machine qui correspond le mieux aux exigences de votre charge de travail. Consultez la liste des paramètres suivants :

      • Type de machine
      • Processeur
      • Mémoire
    4. Cliquez sur Enregistrer.

  9. Cliquez sur Créer pour créer le cluster d'utilisateur.

API

Pour créer un cluster d'utilisateur à l'aide de l'API, appliquez une ressource personnalisée à votre instance GDC :

  1. Créez une ressource personnalisée Cluster et enregistrez-la en tant que fichier YAML, par exemple cluster.yaml :

    apiVersion: cluster.gdc.goog/v1
    kind: Cluster
    metadata:
      name: CLUSTER_NAME
      namespace: platform
    spec:
      clusterNetwork:
        podCIDRSize: POD_CIDR
        serviceCIDRSize: SERVICE_CIDR
      initialVersion:
        kubernetesVersion: KUBERNETES_VERSION
      loadBalancer:
        ingressServiceIPSize: LOAD_BALANCER_POOL_SIZE
      nodePools:
      - machineTypeName: MACHINE_TYPE
        name: NODE_POOL_NAME
        nodeCount: NUMBER_OF_WORKER_NODES
        taints: TAINTS
        labels: LABELS
      releaseChannel:
        channel: UNSPECIFIED
    

    Remplacez les éléments suivants :

    • CLUSTER_NAME : nom du cluster. Le nom du cluster ne doit pas se terminer par -system. Le suffixe -system est réservé aux clusters créés par GDC.
    • POD_CIDR : taille des plages de réseau à partir desquelles les adresses IP virtuelles des pods sont allouées. Si elle n'est pas définie, la valeur par défaut 21 est utilisée.
    • SERVICE_CIDR : taille des plages de réseau à partir desquelles les adresses IP virtuelles de service sont allouées. Si elle n'est pas définie, la valeur par défaut 23 est utilisée.
    • KUBERNETES_VERSION : version de Kubernetes du cluster, telle que 1.26.5-gke.2100. Pour lister les versions Kubernetes disponibles à configurer, consultez Lister les versions Kubernetes disponibles pour un cluster.
    • LOAD_BALANCER_POOL_SIZE : taille des pools d'adresses IP non chevauchants utilisés par les services d'équilibrage de charge. Si elle n'est pas définie, la valeur par défaut 20 est utilisée.
    • MACHINE_TYPE : type de machine pour les nœuds de calcul du pool de nœuds. Consultez les types de machines disponibles pour connaître les configurations possibles.
    • NODE_POOL_NAME : nom du pool de nœuds.
    • NUMBER_OF_WORKER_NODES : nombre de nœuds de calcul à provisionner dans le pool de nœuds.
    • TAINTS : rejets à appliquer aux nœuds de ce pool de nœuds. Ce champ est facultatif.
    • LABELS : libellés à appliquer aux nœuds de ce pool de nœuds. Il contient une liste de paires clé/valeur. Ce champ est facultatif.
  2. Appliquez la ressource personnalisée à votre instance GDC :

    kubectl apply -f cluster.yaml --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Remplacez ADMIN_CLUSTER_KUBECONFIG par le chemin d'accès au fichier kubeconfig du cluster d'administrateur de l'organisation.

Lister les versions Kubernetes disponibles pour un cluster

Vous pouvez lister les versions de Kubernetes disponibles dans votre instance GDC à l'aide de la CLI kubectl :

kubectl get userclustermetadata.upgrade.private.gdc.goog \
    -o=custom-columns=K8S-VERSION:.spec.kubernetesVersion \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Remplacez ADMIN_CLUSTER_KUBECONFIG par le chemin d'accès au fichier kubeconfig du cluster d'administrateur.

La sortie ressemble à ceci :

K8S-VERSION
1.25.10-gke.2100
1.26.5-gke.2100
1.27.4-gke.500

Compatibilité avec les ressources GPU dans un cluster d'utilisateur

GDC est compatible avec les processeurs graphiques (GPU) NVIDIA pour les clusters utilisateur, et exécute vos appareils GPU en tant que charges de travail utilisateur. La prise en charge des GPU est activée par défaut pour les clusters pour lesquels des machines GPU ont été provisionnées. Assurez-vous que votre cluster d'utilisateur est compatible avec les appareils GPU avant d'utiliser les conteneurs de deep learning. Par exemple, si vous prévoyez d'exécuter des conteneurs de deep learning, assurez-vous de créer un cluster d'utilisateur avec au moins un nœud GPU.

Vous pouvez créer des clusters d'utilisateur à l'aide de la console GDC ou directement avec l'API. Assurez-vous de provisionner des machines GPU pour votre cluster d'utilisateur afin de prendre en charge les charges de travail GPU sur ses conteneurs associés. Pour en savoir plus, consultez Créer un cluster d'utilisateur.

Cartes de GPU NVIDIA compatibles

Les clusters GDC sont compatibles avec le GPU NVIDIA A100 PCIe 80 Go. Pour activer cette compatibilité, provisionnez le type de machine a2-ultragpu-1g-gdc dans un cluster utilisateur.