Maison > Périphériques technologiques > IA > Qu'est-ce que Gitops? Un guide simple pour l'automatisation de la gestion des infrastructures

Qu'est-ce que Gitops? Un guide simple pour l'automatisation de la gestion des infrastructures

Joseph Gordon-Levitt
Libérer: 2025-03-01 10:08:09
original
547 Les gens l'ont consulté

Gitops: Automatisation des infrastructures et déploiement d'application pour LLMS

Vous avez probablement rencontré DevOps et MOPL pour automatiser les applications et le déploiement du modèle. Maintenant, explorons Gitops, un cadre étendant les principes DevOps à l'automatisation des infrastructures. Ce message détaille Gitops, son importance, différents modèles et son intégration dans un projet de modèle de langage grand (LLM).

[What is GitOps? A Simple Guide to Automating Infrastructure Management ]

Image par auteur

Améliorez votre compréhension des DevOps et des Mlops avec nos courts cours: concepts DevOps et concepts Mlops.

Comprendre Gitops

Gitops est un cadre opérationnel automatisant la gestion des infrastructures en traitant les configurations comme du code (infrastructure comme code ou IAC). Il tire parti du contrôle de la version, de la collaboration, de la conformité, du CI / CD et de l'observabilité - les principes de la core DevOps - pour l'approvisionnement en infrastructure cohérent et fiable, en particulier dans les environnements cloud. Comme les développeurs utilisant le code source, les équipes d'opérations utilisent des fichiers de configuration dans les référentiels GIT pour garantir des déploiements cohérents.

Composants de flux de travail Gitops essentiels:

  1. GIT Repository: Stockage du code source d'application et des fichiers de configuration d'infrastructure.
  2. Livraison continue (CD) Pipeline: automatise les applications de construction, de test et de déploiement et les modifications d'infrastructure.
  3. Outil de déploiement d'application: assure un déploiement d'application correct et efficace basé sur les configurations du référentiel GIT.
  4. Système de surveillance: suit les performances et la santé de l'application pour la fiabilité du système.

Gitops vs DevOps vs Mlops

aspect DevOps gitops mlops
Définition combine le développement de logiciels et les opérations informatiques pour raccourcir les cycles de vie du développement. applique les principes DevOps à la gestion des infrastructures en utilisant Git comme source de vérité unique. applique les principes DevOps au développement et au déploiement du modèle d'apprentissage automatique.
Focus primaire Automatisation et amélioration du développement, des tests et du déploiement des logiciels. Automatisation de l'infrastructure et du déploiement des applications via des workflows basés sur GIT. Automatisation du développement du modèle ML, du déploiement et de la gestion du cycle de vie.
Principes clés Collaboration, CI / CD, IAC iac, configurations déclaratives, réconciliation continue, contrôle de version Versioning modèle, surveillance du modèle, reproductibilité, formation continue et déploiement
Outils et technologies jenkins, actions github, terraform, anible, docker, kubernetes argo CD, Flux, Kubernetes, Helm, Terraform, GitHub Actions mlflow, kubeflow, tensorflow étendu (tfx), sagemaker, flux d'air
Les cas d'utilisation Développement de logiciels, déploiement des applications, applications natives dans le cloud. Gestion de l'infrastructure cloud, déploiements de Kubernetes, mises à jour de configuration automatisant. ML Pipelines de formation, de déploiement, de surveillance et de recyclage du modèle.
Portée d'automatisation automatise les builds d'applications, les tests et le déploiement en production. automatise l'approvisionnement en infrastructure, la gestion de la configuration et le déploiement des applications. automatise la formation, la validation, le déploiement et la surveillance du modèle ML.
Contrôle de version Base de code contrôlée par version pour les logiciels et les configurations d'application. git est la seule source de vérité pour l'état et les configurations de l'infrastructure. Contrôle de version pour les modèles ML, les ensembles de données et les pipelines de formation.
Intégration CI / CD Principe de base avec des pipelines automatisés de tests, de construction et de déploiement. hautement intégré aux pipelines CI / CD pour automatiser les mises à jour des infrastructures. s'intègre à CI / CD mais nécessite des pipelines ML spécialisés pour une formation et une validation continues.
Infrastructure Mgmt prend en charge l'IAC mais se concentre davantage sur le déploiement des applications. gère l'infrastructure via des configurations contrôlées par version. prend en charge l'infrastructure ML et gère l'expérimentation et la dérive du modèle.
Surveillance et obs. observabilité par journalisation, outils de surveillance. Surveillance continue et auto-guérison via des contrôleurs Gitops comme Argo CD. se concentre sur la surveillance des performances du modèle, la détection de dérive des données et les déclencheurs de recyclage.
défis Shift culturel, collaboration, complexité de l'intégration des charges à outils. Passer à l'infrastructure déclarative, mise à l'échelle de la complexité dans de grands environnements. Complexité élevée de l'infrastructure, défis de gestion des données, intégration avec les pipelines DevOps.

Pourquoi choisir Gitops?

La gestion traditionnelle des infrastructures manuelles est insuffisante pour les environnements cloud modernes. Gitops fournit une infrastructure élastique et fiable, permettant des déploiements rapides et cohérents. Il minimise les erreurs manuelles, améliore l'efficacité et assure la synchronisation entre l'infrastructure et les applications.

Key Gitops Avantages:

  1. Contrôle de version: Toutes les modifications sont contrôlées par version en GIT, facilitant les reculs et les audits.
  2. Amélioration de la collaboration: Les équipes collaborent efficacement en utilisant des flux de travail GIT familiers.
  3. Fiabilité accrue: Les configurations déclaratives permettent une restauration automatique de l'état du système.
  4. Automatisation: réduit l'intervention manuelle et l'erreur humaine.
  5. Sécurité: L'histoire des engagements de Git améliore la sécurité et la traçabilité.

Gitops basés sur Pull vs Gitops

Deux modèles Gitops principaux existent: basé sur la traction et basé sur la poussée.

PULL basé sur (Gitops typique): Un opérateur GITOPS (FLUX, ARGO CD) surveille le référentiel GIT pour les modifications. Lors de la détection des mises à jour, il tire les configurations et les applique à l'environnement cible. Ce modèle comprend la détection de dérive et l'auto-guérison.

Push-basés (en utilisant des outils CI / CD): outils comme les actions GitHub poussent les mises à jour du cluster sur Commit. Il manque de réconciliation continue, de détection de dérive et de retour en arrière automatisé, mais il est plus simple à implémenter.

Intégration de Gitops dans un projet LLM

Cette section utilise une approche Gitops basée sur la poussée avec les actions GitHub pour la simplicité. Nous appliquerons les principes Gitops à un projet de déploiement de l'application LLM (similaire à un "Comment déployer des applications LLM à l'aide du didacticiel Docker").

[What is GitOps? A Simple Guide to Automating Infrastructure Management ]

Source: Comment déployer des applications LLM à l'aide de Docker: un guide étape par étape

Considérez notre cours, en développement de modèles d'apprentissage automatique pour la production avec un état d'esprit MLOPS , pour une formation, une maintenance et une mise à l'échelle efficaces.

Structure du projet:

  • app/: code d'application, dépendances (requirements.txt), dockerfile.
  • infra/: Configurations Kubernetes (par exemple, dev/, staging/, production/).
  • .github/workflows/: Automatisation CI / CD avec les actions GitHub (ci.yaml, cd.yaml).

GitHub Actions Workflow:

  1. Le développeur commet du code et des configurations à GitHub.
  2. CI Pipeline (ci.yaml): construit l'image docker, la pousse éventuellement et exécute des tests.
  3. CD Pipeline (cd.yaml): déploie des mises à jour à l'aide de kubectl apply ou helm upgrade.
  4. Le cluster Kubernetes est mis à jour.

Gitops basés sur la poussée: avantages et compromis

Avantages:

  • Simplicité: ne nécessite que des actions GitHub.
  • à guichet unique: GitHub Actions gère la construction, les tests et le déploiement.

compromis:

  • pas vraiment basé sur la traction: manque de réconciliation continue.
  • pas de détection de dérive: les modifications manuelles des cluster ne sont pas automatiquement reversées.
  • Sécurité: nécessite une manipulation minutieuse des informations d'identification de cluster dans les secrets GitHub.

Transition vers un modèle basé sur la traction

Pour les projets plus grands ou les exigences plus exigeantes, un modèle basé sur la traction (ARGO CD, Flux) offre une auto-guérison, une réconciliation continue et des tableaux de bord visuels.

Conclusion

Commencez petit avec Gitops, incorporant progressivement ses technologies. Commencez par Docker, puis Kubernetes, puis une approche Gitops basée sur Push (Actions GitHub). Enfin, transition vers un modèle basé sur la traction pour la stabilité au niveau de la production. Cette approche progressive maximise les avantages de Gitops pour les applications natives dans le cloud. Pour les débutants de l'IA, considérez nos compétences fondamentales de l'IA.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal