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
3 Réponses :
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.
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!"
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 :(
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
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