2
votes

Type de planificateur cloud de Google Deployment Manager

Je vois qu'aucun type de planification n'est fourni par GCP. J'aimerais connaître les étapes pour créer un modèle, de type composite ou similaire, pour fournir le type Cloud Scheduler. Je sais que Google fournit déjà un exemple à ce sujet.

S'il est possible de le faire par code, il peut utiliser bibliothèque cliente python bien qu'il dise dans la documentation que cette bibliothèque n'est pas disponible, je pourrais l'inclure dans le code.

Je ne vois pas de moyen de m'authentifier auprès de l'API Google pour faire de telles requêtes.

En bref, ma question est de savoir comment créer un type Deployment Manager pour le Cloud? Je sais que c'est un peu vague. Je veux juste savoir si cela serait faisable.

D'autre part, où puis-je trouver le développement officiel de ce Service GCP?

Pour plus de détails, voici le problème Github également


0 commentaires

3 Réponses :


4
votes

Le type de Cloud Scheduler n'est pas encore pris en charge selon la documentation de GCP .

Je n'ai connaissance d'aucun développement officiel pour ce service GCP autre que celui que j'ai lié ci-dessus. Cela étant dit, je vais créer une demande de fonctionnalité pour votre cas d'utilisation. Veuillez ajouter tout élément supplémentaire que j'ai manqué et vous pouvez utiliser le même fil pour communiquer avec l'équipe du gestionnaire de déploiement.


0 commentaires

2
votes

Je cherchais cette fonctionnalité et j'ai pensé que je devrais donner une réponse à jour sur le sujet.

Merci à https://stackoverflow.com/users/9253778/dany-l pour la demande de fonctionnalité qui m'a conduit à cette réponse.

Il semble que cette fonctionnalité est bien fournie, juste que la documentation n'a pas encore été mis à jour pour le refléter.

Voici l'extrait de https: // issuetracker.google.com/issues/123013878 :

  - type: gcp-types/cloudscheduler-v1:projects.locations.jobs
    name: <YOUR_JOB_NAME_HERE>
    properties:
      parent: projects/<YOUR_PROJECT_ID_HERE>/locations/<YOUR_REGION_HERE>
      name: <YOUR_JOB_NAME_HERE>
      description: <YOUR_JOB_DESCRIPTION_HERE>
      schedule: "0 2 * * *" # daily at 2 am
      timeZone: "Europe/Amsterdam"
      pubsubTarget:
        topicName: projects/<YOUR_PROJECT_ID_HERE>/topics/<YOUR_EXPECTED_TOPIC_HERE>
        data: aGVsbG8hCg== # base64 encoded "hello!"


1 commentaires

Ce problème a été ouvert à la suite d'une demande d'assistance d'un partenaire à GCP. Cela ne leur a pris qu'un an et demi pour le résoudre. C'est bien, mais Terraform s'est avéré plus fiable que DM. Il a un meilleur support, plus de couverture, de flexibilité et il est plus étendu. J'ai beaucoup aimé DM et c'est une approche statique, mais on ne peut pas travailler avec ce genre de support, c'est indéptable :(



2
votes

Vous pouvez utiliser le fichier YAML général avec deployment-manager:

config.yaml:

  - name: <<TOPIC_NAME>>
    type: pubsub.v1.topic
    properties:
      topic: <<TOPIC_NAME>>
  - name: <<NAME>>
    type: pubsub.v1.subscription
    properties:
      subscription: <<SUBSCRIPTION_NAME>>
      topic: $(ref.<<TOPIC_NAME>>.name)
      ackDeadlineSeconds: 600

Vous pouvez même ajouter pour créer une tâche Pub / Sub et d'autres avec deployment-manager il suffit d'ajouter:

resources:
  - name: <<YOUR_JOB_NAME>>
    type: gcp-types/cloudscheduler-v1:projects.locations.jobs # Cloud scheduler
    properties:
      parent: "projects/<<YOUR_PROJECT_NAME>>/locations/<<YOUR_LOCATION_ID>>"
      description: "<<JOB_DESCRIPTION_OPTIONAL>>"
      schedule: "* */2 * * *" # accepts 'cron' format
      http_target:
        http_method: "GET"
        uri: "<<URI_TO_YOUR_FUNCTION>>" # trigger link in cloud functions


1 commentaires

Je suis content, presque plus de deux ans après la demande de fonctionnalité, GCP a finalement décidé de mettre en œuvre cela. Nous avons depuis décidé que GCP DM n'était pas un outil fiable pour la gestion des déploiements en raison de son très faible support. Cela a été mis en œuvre et maintenu dans Terraform dès le premier jour