Gérer les services

Cette page décrit comment créer un service et afficher les informations associées. Les services sont les principales ressources de l'inférence Knative.

Créer un service

Vous devez créer un service et sa révision en y déployant une image de conteneur pour la première fois. Consultez la section Déployer un nouveau service pour en savoir plus sur la création de services.

Afficher la liste des services de votre projet

Vous pouvez afficher la liste des services disponibles dans votre projet à l'aide de la console Google Cloud ou de la Google Cloud CLI :

Console

Pour afficher la liste des services, procédez comme suit :

  1. Accédez à l'inférence Knative dans la console Google Cloud:

    Accéder à l'inférence Knative

  2. Examinez la liste des services affichés pour votre projet :

Ligne de commande

Pour afficher la liste des services de votre projet, procédez comme suit :

gcloud run services list

Vous pouvez filtrer cette liste suivant les propriétés de la définition de service, telles qu'un libellé attribué.

Copier un service

Vous pouvez créer une copie d'un service existant à l'aide de Google Cloud Console ou de YAML. Vous pouvez modifier n'importe quel élément dans la copie, y compris le nom et la région.

Console

Pour copier un service, procédez comme suit :

  1. Accédez à l'inférence Knative dans la console Google Cloud:

    Accéder à l'inférence Knative

  2. Sélectionnez le service à copier dans la liste des services affichés pour votre projet :

    1. Cliquez sur Copier.

    2. Sur la page de copie du service, définissez ou modifiez les valeurs que vous souhaitez changer, par exemple la région. Si vous conservez la même région, vous devez définir un nouveau nom de service.

    3. Cliquez sur Create (Créer) pour générer une copie et la déployer sous le nouveau nom du service.

YAML

Vous pouvez télécharger la configuration d'un service existant dans un fichier YAML avec la commande gcloud run services describe à l'aide de l'option --format=export. Vous pouvez ensuite modifier ce fichier YAML et déployer ces modifications à l'aide de la commande gcloud run services replace. Veillez à ne modifier que les attributs spécifiés.

  1. Téléchargez la configuration de votre service dans un fichier nommé service.yaml sur l'espace de travail local :

    gcloud run services describe SERVICE --format export > service.yaml

    Remplacez SERVICE par le nom de votre service de diffusion Knative.

  2. Apportez toutes les modifications souhaitées à la configuration du service, comme décrit dans les différentes pages de configuration.

     apiVersion: serving.knative.dev/v1
     kind: Service
     metadata:
       annotations:
         ...
       name: SERVICE
       ...
     spec:
       template:
         metadata:
           annotations:
           ...
           name: REVISION-NAME
    
    • Si vous déployez la copie sur le même cluster Kubernetes, remplacez SERVICE par le nom que vous souhaitez utiliser pour la copie. Si vous déployez la copie sur un autre cluster Kubernetes, vous pouvez utiliser le même nom.

    • Assurez-vous que la valeur de REVISION-NAME commence par le nom du service (SERVICE). Par exemple, si le nouveau nom de service est mynewfoo, le nom de la révision doit suivre le format mynewfoo-whatever. Vous pouvez aussi supprimer entièrement la valeur : un nouveau nom de révision est alors créé automatiquement.

  3. Copiez le service à l'aide de la commande suivante :

    gcloud run services replace service.yaml

    Utilisez l'option --region pour déployer la copie dans une autre région.

Afficher plus de détails sur un service

Pour afficher davantage de détails sur un service, procédez comme suit :

Console

Pour afficher les détails d'un service, procédez comme suit :

  1. Accédez à l'inférence Knative dans la console Google Cloud:

    Accéder à l'inférence Knative

  2. Cliquez sur le service souhaité dans la liste des services affichés pour votre projet afin d'ouvrir la vue Détails du service :

  3. Notez les onglets REVISIONS (RÉVISIONS), LOGS (JOURNAUX) et DETAILS (DÉTAILS). L'onglet "Revisions" (Révisions) affiche la liste des révisions, l'onglet "Logs" (Journaux) affiche les journaux du service et l'onglet "Details" (Détails) affiche les paramètres d'authentification ou de connectivité actuels.

Ligne de commande

Pour afficher les détails d'un service, procédez comme suit :

gcloud run services describe SERVICE
Remplacez SERVICE par le nom du service.

Vous pouvez utiliser l'option --format pour formater le résultat. Par exemple, au format YAML :

gcloud run services describe SERVICE --format yaml

Vous pouvez utiliser --format export pour exporter au format YAML sans libellés ni états générés automatiquement :

gcloud run services describe SERVICE --format export

Vous pouvez également utiliser l'option --format pour obtenir l'URL du service:

gcloud run services describe SERVICE --format='value(status.url)'

Pour en savoir plus sur les révisions de services, consultez la page Gérer les révisions.

Modifier les paramètres de connectivité du service

Un service de diffusion Knative peut avoir l'une des deux options de connexion suivantes:

  • Externe, ce qui permet un accès externe à votre service

  • Interne, ce qui limite l'accès aux autres services de votre cluster

Vous pouvez modifier les paramètres à l'aide de la console ou de la CLI Google Cloud.

Console

Pour modifier les paramètres de connectivité d'un service, procédez comme suit :

  1. Accédez à l'inférence Knative dans la console Google Cloud:

    Accéder à l'inférence Knative

  2. Cliquez sur le service souhaité dans la liste des services affichée pour votre projet afin d'ouvrir la vue DETAILS (Détails) du service :

  3. Cliquez sur l'onglet Triggers (Déclencheurs).

  4. Sélectionnez le paramètre souhaité et cliquez sur Save (Enregistrer).

Ligne de commande

Pour modifier les paramètres de connectivité d'un service, mettez à jour ce service avec le paramètre de connectivité souhaité :

gcloud run services update [SERVICE] --connectivity=[OPTION]
  • Remplacez [SERVICE] par le nom du service que vous mettez à jour. Vous pouvez omettre ce paramètre, mais dans ce cas, le nom du service vous sera demandé.

  • Remplacez [OPTION] par internal ou external.

Supprimer des services

La suppression d'un service supprime toutes les ressources associées à ce service, y compris toutes les révisions de ce service, qu'elles diffusent du trafic ou non.

Lors de la suppression d'un service, les images de conteneurs utilisées par les révisions supprimées ne sont pas automatiquement supprimées de Container Registry. Pour supprimer des images de conteneurs de Container Registry, consultez la page Supprimer des images.

Sachez que la suppression d'un service est irréversible : il n'y a aucune possibilité d'annulation ni de restauration. Toutefois, si après avoir supprimé un service, vous déployez un nouveau service portant le même nom dans le même cluster, celui-ci possédera la même URL de point de terminaison.

Console

Pour supprimer un service, procédez comme suit :

  1. Accédez à l'inférence Knative dans la console Google Cloud:

    Accéder à l'inférence Knative

  2. Recherchez le service que vous souhaitez supprimer dans la liste des services, puis cliquez la case correspondante pour le sélectionner.

  3. Cliquez sur SUPPRIMER. Cette action supprime toutes les révisions du service.

Ligne de commande

Pour supprimer un service, utilisez la commande suivante :

gcloud run services delete [SERVICE]

Remplacez [SERVICE] par le nom du service.