recherche
MaisonPériphériques technologiquesIndustrie informatiquePipelines d'apprentissage automatique: Configuration de Kubernetes sur site

Ce tutoriel en plusieurs parties vous guide dans la création d'un pipeline d'apprentissage automatique sur site à l'aide d'outils open-source. Il est parfait pour les startups sur un budget, mettant l'accent sur le contrôle et la prévisibilité des coûts.

Avantages clés:

  • rentable: Évite les dépenses de service cloud.
  • Personnalisable: offre un plus grand contrôle sur votre pipeline ML.
  • accessible: simplifie la configuration de Kubernetes avec le moteur Kubernetes Rancher (RKE), ne nécessitant que des compétences de base Docker et Linux.
  • Approche pratique: Un guide pratique pour le développement du pipeline ML, idéal pour les débutants.

Pourquoi aller sur site?

Beaucoup supposent le stockage cloud (AWS S3, Google Cloud Storage), mais cette série démontre la construction d'un pipeline fonctionnel à l'aide de serveurs existants, idéal pour les environnements liés aux ressources. Cette approche fournit un environnement d'apprentissage sûr sans coûts imprévisibles.

Public cible:

Ce guide concerne les ingénieurs logiciels ou les individus qui construisent des modèles ML prêts pour la production, en particulier ceux qui sont nouveaux dans les pipelines ML.

Prérequis:

La familiarité avec Linux (Ubuntu 18.04 recommandée) et les connaissances de base Docker sont utiles. L'expertise profonde de Kubernetes n'est pas requise.

Outils utilisés:

  • docker
  • kubernetes
  • Rancher (avec RKE)
  • pipelines kubeflow / kubeflow (couverts dans des parties ultérieures)
  • minio
  • tensorflow (couvert dans les parties ultérieures)

Phase 1: Installation facile de Kubernetes avec Rancher

Cette section se concentre sur la tâche difficile de l'installation de Kubernetes, simplifiée avec RKE.

Étape 0: Préparation de la machine:

Vous aurez besoin d'au moins deux machines Linux (ou des machines virtuelles avec réseautage ponté et mode promiscuité) sur le même LAN, désigné comme «maître» et «travailleur». Notez que l'utilisation de machines virtuelles limite l'accès et les performances du GPU.

Machine Learning Pipelines: Setting Up On-premise Kubernetes

Les détails essentiels de la machine (adresses IP, noms d'utilisateur, touches SSH) sont nécessaires pour la configuration. Un nom d'hôte temporaire (par exemple, rancher-demo.domain.test) sera utilisé pour ce tutoriel. Modifiez votre fichier /etc/hosts en conséquence sur les deux machines pour refléter ce nom d'hôte et les adresses IP. Si vous utilisez des machines virtuelles, ajoutez également l'entrée du nom d'hôte au fichier /etc/hosts de votre machine hôte pour l'accès du navigateur.

Étape 1: Obtention du binaire RKE:

Téléchargez le binaire RKE approprié pour votre système d'exploitation à partir de la page de version GitHub, faites-le exécutable et déplacez-le vers /usr/local/bin. Vérifiez l'installation en exécutant rke.

Étape 2: Préparation des hôtes Linux:

sur toutes les machines :

  1. Installez Docker: Installez Docker CE (version 19.03 ou version ultérieure) à l'aide des commandes fournies. Vérifiez l'installation et ajoutez votre utilisateur au groupe docker. Se déconnecter et revenir pour que les modifications du groupe prennent effet.
  2. Clés SSH: Configurez les clés SSH sur le nœud maître et copiez la clé publique à tous les nœuds de travailleur. Configurez les serveurs SSH pour permettre la transmission de port (AllowTcpForwarding yes dans /etc/ssh/sshd_config).
  3. Désactiver l'échange: Désactiver l'échange à l'aide de sudo swapoff -a et commentez les entrées d'échange dans /etc/fstab.
  4. Appliquer les paramètres sysctl: Exécuter sudo sysctl net.bridge.bridge-nf-call-iptables=1.
  5. Configuration DNS (Ubuntu 18.04): installer resolvconf, modifier /etc/resolvconf/resolv.conf.d/head, ajouter des serveurs de noms (par exemple, 8.8.4.4 et 8.8.8.8), et redémarrer resolvconf.

Étape 3: Fichier de configuration du cluster:

Sur le nœud maître, utilisez rke config pour créer un fichier cluster.yml. Fournissez les informations nécessaires (adresses IP, noms d'hôtes, rôles, chemins clés SSH, etc.).

Étape 4: Adopter le cluster:

Run rke up sur le nœud maître pour créer le cluster Kubernetes. Ce processus prend un certain temps.

Étape 5: Copie de kubeconfig:

Copier kube_config_cluster.yml à $HOME/.kube/config.

Étape 6: Installation de Kubectl:

Installez kubectl sur le nœud maître à l'aide des commandes fournies. Vérifiez l'installation en exécutant kubectl get nodes.

Étape 7: Installation de Helm 3:

Installez Helm 3 en utilisant la commande fournie.

Étape 8: Installation du rancher à l'aide de Helm:

Ajouter le référentiel Rancher, créer un cattle-system Espace de noms et installer Rancher à l'aide de Helm. Surveiller l'état de déploiement.

Étape 9: Configuration de l'entrée (pour l'accès sans équilibreur de charge):

Créez un fichier ingress.yml (adaptant l'hôte à votre nom d'hôte choisi) et appliquez-le en utilisant kubectl apply -f ingress.yml.

Étape 10: Accès à Rancher:

Accédez à l'interface utilisateur de l'éleveur à https://rancher-demo.domain.test (ou le nom d'hôte choisi), créez un mot de passe et définissez le nom de domaine.

Machine Learning Pipelines: Setting Up On-premise Kubernetes

Étape 11: Installation de certificat:

Installez CERT-Manager (version V0.9.1) à l'aide des commandes fournies. Surveillez les pods pour vous assurer qu'ils fonctionnent.

Cela complète la configuration du cluster Kubernetes. La prochaine partie de la série couvrira l'installation de Kubeflow.

Questions fréquemment posées (FAQ):

La section FAQS fournit des réponses complètes aux questions courantes sur la configuration de Kubernetes sur site, couvrant les avantages, les comparaisons avec les solutions basées sur le cloud, les défis, les considérations de sécurité, les stratégies de migration, les exigences matérielles, la mise à l'échelle, les opérateurs de Kubernetes, les charges d'apprentissage automatique et Surveillance des performances.

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
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
Top 21 newsletters du développeur auquel s'abonner en 2025Top 21 newsletters du développeur auquel s'abonner en 2025Apr 24, 2025 am 08:28 AM

Restez informé des dernières tendances technologiques avec ces meilleurs bulletins de développeur! Cette liste organisée offre quelque chose pour tout le monde, des amateurs d'IA aux développeurs assaisonnés du backend et du frontend. Choisissez vos favoris et gagnez du temps à la recherche de rel

Pipeline de traitement d'image sans serveur avec AWS ECS et LambdaPipeline de traitement d'image sans serveur avec AWS ECS et LambdaApr 18, 2025 am 08:28 AM

Ce tutoriel vous guide dans la création d'un pipeline de traitement d'image sans serveur à l'aide de services AWS. Nous allons créer un frontend Next.js déployé sur un cluster ECS Fargate, en interagissant avec une passerelle API, des fonctions lambda, des seaux S3 et DynamoDB. Ème

Pilote CNCF ARM64: impact et perspectivesPilote CNCF ARM64: impact et perspectivesApr 15, 2025 am 08:27 AM

Ce programme pilote, une collaboration entre le CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal et ACTUTIE, rationalise ARM64 CI / CD pour les projets GitHub CNCF. L'initiative répond aux problèmes de sécurité et aux performances LIM

Construire un scanner de vulnérabilité de réseau avec GoConstruire un scanner de vulnérabilité de réseau avec GoApr 01, 2025 am 08:27 AM

Ce scanner de vulnérabilité de réseau basé sur GO identifie efficacement les faiblesses de sécurité potentielles. Il exploite les fonctionnalités de concurrence de GO pour la vitesse et comprend la détection de services et la correspondance de vulnérabilité. Explorons ses capacités et ses éthiques

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel