Personnaliser votre installation Google Cloud

Découvrez comment installer la diffusion Knative dans vos clusters GKE sur Google Cloud. La diffusion Knative utilise désormais les parcs Anthos Service Mesh et GKE Enterprise. Découvrez les nouveautés et les modifications apportées aux installations de parc de diffusion Knative.

Utilisez cette page pour personnaliser une nouvelle installation ou pour configurer une installation de parc existante de diffusion Knative. Par exemple, vous pouvez configurer des clusters privés ou définir des identifiants Cloud Monitoring.

La procédure d'installation par défaut déploie automatiquement la ressource personnalisée CloudRun suivante, qui active les métriques sur les clusters GKE Enterprise sur Google Cloud:

  apiVersion: operator.run.cloud.google.com/v1alpha1
  kind: CloudRun
  metadata:
    name: cloud-run

Pour en savoir plus sur les ressources personnalisées en général, consultez la section Ressources personnalisées.

Avant de commencer

  • Vous devez vous assurer que vous remplissez les conditions préalables à l'installation.

  • Si Knative Serving est installé dans votre cluster, vous devez vous assurer que le module complémentaire GKE n'existe pas avant d'effectuer ces étapes d'installation des composants du parc. Si le module complémentaire est installé, vous devez suivre la procédure de mise à niveau vers les parcs GKE Enterprise.

    Vérifier si le module complémentaire GKE est installé.

    Pour vérifier si votre installation de diffusion Knative correspond au module complémentaire GKE, exécutez la commande suivante:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
    

    Remplacez :

    • CLUSTER_NAME par le nom de votre cluster.
    • CLUSTER_LOCATION par la région où se trouve votre cluster.
    • PROJECT_ID par l'ID de votre projet Google Cloud.

    Résultats :

    • Module complémentaire GKE non installé :
      • Aucun élément n'est renvoyé à votre terminal si le module complémentaire n'a jamais été installé.
      • disabled=true est renvoyé si le module complémentaire a déjà été désinstallé.
    • Module complémentaire GKE installé : si le module complémentaire est installé dans votre cluster, les détails de configuration du module complémentaire sont renvoyés. Exemple : loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Exemple :
    L'exemple suivant montre que la diffusion Knative a été installée dans le cluster my-addon-cluster via le module complémentaire GKE, configuré pour gérer le trafic externe:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'
    

    Solution :

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    

Configurer votre ressource personnalisée CloudRun

Vous devez créer et configurer manuellement la ressource personnalisée CloudRun pour configurer votre installation.

Pour créer manuellement une ressource personnalisée CloudRun pour les clusters GKE sur Google Cloud :
  1. Créez un fichier YAML et incluez la configuration par défaut, par exemple cloudrunanthos.yaml :

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    
  2. Dans cloudrunanthos.yaml, vous personnalisez l'installation en configurant un ou plusieurs des attributs suivants dans une section spec :

    • Clusters privés: vous devez ajouter les attributs clusterConfig et isPrivate pour installer la diffusion Knative sur des clusters privés sur Google Cloud.

      Les attributs clusterConfig et isPrivate :

      spec:
        clusterConfig:
          isPrivate: true
      

      Notez que ce paramètre désactive le protocole TLS géré, car les clusters privés ne peuvent pas communiquer avec l'autorité de certification par défaut.

    • Métriques : ajoutez l'ensemble d'attributs metricscollector pour configurer Cloud Monitoring. Par défaut, les métriques sont activées pour les clusters GKE Enterprise sur Google Cloud.

      spec:
        metricscollector:
          stackdriver:
            projectid: PROJECT_ID
            gcpzone: CLUSTER_LOCATION
            clustername: CLUSTER_NAME
            secretname: SECRET_NAME
            secretkey: SECRET_KEY
      

      Remplacez les éléments suivants :

      • PROJECT_ID par l'ID de votre projet Google Cloud.
      • CLUSTER_LOCATION par la région ou la zone dans laquelle se trouve votre cluster.
      • CLUSTER_NAME par l'ID de votre cluster ou l'identifiant complet du cluster.
      • SECRET_NAME par le nom du secret pour le compte de service de l'espace de noms knative-serving.
      • SECRET_KEY par la clé du secret pour le compte de service de l'espace de noms knative-serving. Par exemple : key.json.

        Pour en savoir plus sur les comptes de service, consultez les pages suivantes :

Exemple

Dans cet exemple de ressource personnalisée CloudRun, les détails de configuration de Cloud Monitoring sont spécifiés pour utiliser le secret my-gcp-logging-secret et la clé key.json :

 apiVersion: operator.run.cloud.google.com/v1alpha1
 kind: CloudRun
 metadata:
   name: cloud-run
 spec:
   metricscollector:
     stackdriver:
       projectid: my-gcp-project-id
       gcpzone: us-central1-c
       clustername: my-anthos-cluster-name
       secretname: my-gcp-logging-secret
       secretkey: key.json
 ```

Activer et installer l'inférence Knative

Activez le composant de diffusion Knative dans votre parc GKE Enterprise, puis déployez votre ressource personnalisée CloudRun:

  1. Activez l'inférence Knative dans votre parc:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.

    Pour obtenir plus d'informations et d'options, consultez la documentation de référence de gcloud container fleet cloudrun enable.

  2. Facultatif: Vérifiez que le composant de la fonctionnalité de diffusion Knative est activé:

    Console

    Vérifiez si le composant de diffusion Knative est activé dans la console Google Cloud:

    Accéder aux fonctionnalités de GKE Enterprise

    Ligne de commande

    Vérifiez si l'état de appdevexperience est défini sur ACTIVE :

    gcloud container fleet features list  --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.

    Pour obtenir plus d'informations et découvrir des options supplémentaires, consultez la documentation de référence de gcloud container fleet features list.

    Résultat :

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. Pour chaque cluster GKE Enterprise sur lequel vous souhaitez installer la diffusion Knative, vous devez déployer la ressource personnalisée CloudRun:

    gcloud

    gcloud container fleet cloudrun apply --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME --config=CONFIG_FILE
    

    Remplacez les éléments suivants :

    • CLUSTER_LOCATION par la région ou la zone dans laquelle se trouve votre cluster.
    • CLUSTER_NAME par l'ID de votre cluster ou l'identifiant complet du cluster.
    • CONFIG_FILE par le chemin d'accès relatif au nom de fichier de votre ressource personnalisée cloudRun. Exemple cloudrunanthos.yaml.

    Pour obtenir plus d'informations et d'options, consultez la documentation de référence de gcloud container fleet cloudrun apply.

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    Remplacez les éléments suivants :

    • KUBECONFIG par le chemin absolu de votre fichier de configuration kubectl.
    • CONFIG_FILE par le chemin d'accès relatif au nom de fichier de votre ressource personnalisée cloudRun. Exemple cloudrunanthos.yaml.

    Pour plus d'informations et d'options, consultez la documentation de référence kubectl apply.

  4. Vérifiez que la diffusion Knative a été activée dans votre cluster :
    1. Ouvrez la console Google Cloud.

      Accéder aux clusters GKE Enterprise

    2. Cliquez sur le nom de votre cluster pour ouvrir le volet "Détails".

    3. Exécutez la commande suivante pour vérifier si vous pouvez afficher les détails de la version de diffusion de Knative : kubectl get namespace knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. Vérifiez que tous les déploiements spécifiques de diffusion Knative sont en cours d'exécution sous les espaces de noms knative-serving et appdevexperience.

Étapes suivantes

Configurez votre installation de l'inférence Knative.