Personnaliser votre installation Google Cloud

Découvrez comment installer Knative serving dans vos clusters GKE sur Google Cloud. Le service Knative serving utilise désormais Cloud Service Mesh et les parcs GKE Enterprise. Découvrez les nouveautés et les modifications apportées avec les installations de parcs Knative serving.

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

Les étapes d'installation par défaut déploient 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 l'installation du composant de parc. Si le module complémentaire est installé, vous devez suivre les étapes 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 Knative serving 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 Knative serving a été installé dans le cluster my-addon-cluster via le module complémentaire GKE, qui est 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)'
    

    Réponse :

    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 des clusters GKE sur Google Cloud, procédez comme suit :
  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 ensembles d'attributs clusterConfig et isPrivate pour installer Knative serving 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 Knative serving

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

  1. Activez Knative serving 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 fonctionnalité Knative serving est activé :

    Console

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

    Accéder au gestionnaire de fonctionnalités

    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 Knative serving, vous devez déployer votre 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 Knative serving a été activé dans votre cluster :
    1. Ouvrez la console Google Cloud.

      Accéder aux clusters GKE

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

    3. Exécutez cette commande pour vérifier si vous pouvez afficher les détails de la version Knative serving : 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 à Knative serving sont en cours d'exécution sous les espaces de noms knative-serving et appdevexperience.

Étape suivante

Configurez votre installation de Knative serving.