Table des matières:
- Étape 1: Mise en route
- Étape 2: Configuration de votre matériel
- Étape 3: Configurez vos Pi
- Étape 4: Installez Ansible
- Étape 5: Félicitations
Vidéo: Raspberry Pi 3 "Bramble": 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Déploiement d'un serveur Web Apache2 sur une "ronce" Raspberry Pi3 modèle B évolutive via un équilibreur de charge HAProxy !
Je fais beaucoup de développement Web et j'ai beaucoup lu sur la configuration des géo-redondances et des équilibreurs de charge, alors j'ai pensé qu'il était temps que je tente de tout configurer moi-même. J'ai eu le mécontentement d'avoir un serveur en panne et je voulais éviter que cela ne se reproduise à l'avenir !
En plus, ça a l'air cool.
Étape 1: Mise en route
** METTRE À JOUR **
**************************************************************************************************************************
En fait, j'ai rendu ce Instructable un peu plus facile. J'ai refactorisé le dépôt sur Github pour installer, configurer et déployer automatiquement l'équilibreur de charge HAProxy sur le Pi de votre choix ! Moins de code, moins d'édition, moins de risques d'erreur et plus de chances de s'amuser !
**************************************************************************************************************************
Rendez-vous sur https://www.raspberrypi.org/downloads/raspbian/ et téléchargez une nouvelle copie de Raspbian Stretch Lite.
Extrayez le fichier. ZIP et écrivez le.img sur chaque carte MicroSD pour chaque Pi de votre cluster. Utilisateurs d'OSX, un excellent outil pour cela est
Après avoir gravé le.img sur la carte MicroSD, accédez à la carte dans une nouvelle fenêtre du Finder ou de l'Explorateur de fichiers - cela devrait être nommé boot par défaut. Sur ce, créez un nouveau fichier nommé SSH. Assurez-vous de ne rien mettre pour une extension de fichier. Cela activera SSH sur votre Rpi3. Éjectez la carte et placez-la dans votre Pi. Répétez cette étape pour les 2 Pi restants (ou quel que soit le nombre que vous finissez par utiliser).
Étape 2: Configuration de votre matériel
Cet exemple suppose un cluster Rpi à 3 nœuds et la liste des équipements est ci-dessous:
-
Commutateur Ethernet 5 ports x 1
https://www.amazon.ca/gp/product/B00QR6XFHQ/ref=oh…
-
Adaptateur secteur USB 5 ports x 1 **
https://www.amazon.ca/gp/product/B017R9IJTU/ref=oh…
-
Câbles Ethernet x 4
https://www.amazon.ca/gp/product/B01J8KFTB2/ref=oh…
-
Câbles d'alimentation USB 2. vers Micro USB B x 3
https://www.amazon.ca/gp/product/B019U0V75W/ref=oh…
-
Raspberry Pi3 Modèle B x 3
https://www.amazon.ca/gp/product/B01CD5VC92/ref=od…
-
Dissipateurs thermiques x 6
https://www.amazon.ca/gp/product/B010ER7UN8/ref=od_aui_detailpages00?ie=UTF8&psc=1
* Il est important que vous utilisiez un adaptateur secteur USB capable de fournir aux Raspberry Pi leur tension de fonctionnement minimale requise
- Connectez le câble Ethernet x1 de votre routeur au commutateur Ethernet.
- Connectez le câble Ethernet x1 de votre commutateur Ethernet à chacun de vos Pi
- Connectez x1 USB-to-MicroUSB de chacun de vos Pi à l'adaptateur d'alimentation USB.
- Branchez le tout et regardez les lumières clignotantes
Bien que ce ne soit pas nécessaire, mais je voulais que la ronce ait l'air aussi cool que possible et que tout soit un peu plus net. J'ai décidé de récupérer 3 de ces étuis empilables sur Amazon. Je ne l'ai pas inclus dans cette instructable car ce n'est _techniquement_ pas requis, mais pour des points d'esthétique, je recommanderais d'en ramasser.
www.amazon.ca/gp/product/B07BNDFXN9/ref=oh…
** Points bonus **
J'ai opté pour des points de nerd supplémentaires et je voulais une meilleure indication visuelle du serveur avec lequel j'interagissais. J'avais des protoboards de rechange et un tas de LED et de résistances, alors j'ai rapidement piraté quelques cartes pour les poser sur les broches GPIO du pi. Idéalement, j'aurais utilisé des en-têtes femelles, mais je n'avais que des mâles, j'ai donc dû couper des câbles de démarrage.
Si vous souhaitez également emprunter cette voie (parce que les LED sont géniales), vous voudrez suivre ce didacticiel à l'adresse:
thepihut.com/blogs/raspberry-pi-tutorials/…
Étape 3: Configurez vos Pi
Vous aurez besoin de connaître les adresses IP de chacun des Pi sur votre réseau local. Si vous êtes un ninja CLI, cela devrait être facile. Pour tous les autres, vous pouvez utiliser un scanner IP gratuit, tel que SuperScan (OSX). Notez les adresses IP.
Ensuite, copiez votre clé publique SSH sur chacun de vos Pi en utilisant la commande suivante depuis votre terminal:
ssh-copy-id
Exemple::
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Vous n'avez pas de clé SSH ? Aucun problème! Exécutez simplement:
ssh-keygen
dans votre terminal et suivez les instructions. Nous y sommes presque!
Étape 4: Installez Ansible
Si vous êtes arrivé jusqu'ici, félicitations ! Vous n'êtes qu'à quelques minutes d'exploiter votre propre réseau informatique distribué.
Sur votre ordinateur / ordinateur portable local, vous souhaiterez installer Ansible à partir de la ligne de commande. Pour les utilisateurs de Mac, c'est:
sudo pip installer ansible
Pour tous les autres, reportez-vous à https://docs.ansible.com/ansible/latest/installat… pour votre système d'exploitation.
Maintenant, vous voudrez cloner ce référentiel dans un dossier OU télécharger le fichier. ZIP et l'extraire dans un dossier sur votre ordinateur local.
github.com/Jtilley84/ansible-apache2-webse…
Dans ce référentiel, vous verrez un fichier hosts.ini. Ouvrez-le dans votre éditeur de texte préféré (ou nano ou vim):
[équilibreur de charge]
pi-headnode ansible_host=192.168.0.228 # <--- Remplacez-le par l'adresse IP du Pi sur lequel vous souhaitez HAProxy.
[nœuds]
node2 ansible_host=192.168.0.16 # <--- Remplacez-le par l'adresse IP de votre deuxième Pi
node3 ansible_host=192.168.0.58 # <--- Remplacez-le par l'adresse IP de votre troisième Pi
C'est ça! Pour exécuter le playbook, accédez au dossier du dépôt de base et saisissez ce qui suit dans votre terminal:
ansible-playbook playbook.yml
Étape 5: Félicitations
Vous venez de créer la magie informatique. Toutes nos félicitations!
Ceci est juste une preuve de concept. Dans ce référentiel, le playbook envoie un fichier index.html unique à chacun des nœuds afin que vous puissiez déboguer visuellement s'il fonctionne ou non. Pour un serveur de production, vous voudriez évidemment éditer le playbook pour déployer votre site.
Si vous avez des questions ou des commentaires, je serais ravi de les entendre! Veuillez consulter le référentiel Github et débourser ! J'aimerais voir ce que vous proposez.
Conseillé:
Basiliscus "α". Basilisk de Mandalorian avec matériel Raspberry Pi et système d'exploitation Raspbian : 19 étapes
Basiliscus "α". Basilisk de Mandalorian avec matériel Raspberry Pi et système d'exploitation Raspbian : ce projet concerne un appareil que vous pouvez utiliser comme ordinateur, différent d'un ordinateur portable, lors de vos déplacements. Son objectif principal est de vous permettre d'écrire votre code si vous programmez ou apprenez. Aussi, si vous êtes écrivain ou que vous aimez écrire des histoires, même si
Construisez votre propre "" cadre d'art d'autodestruction de Banksy " : 4 étapes
Construisez votre propre "" cadre d'art d'autodestruction de Banksy " : lorsque la Balloon Girl s'est auto-déchiquetée après avoir atteint 1,4 million de dollars, nos créateurs intérieurs ont commencé à analyser comment c'est fait. Il y avait 2 idées initiales dans notre esprit : la première était que des lames étaient fixées à la base du châssis et deux roues
"Ready Maker" - Contrôle du projet "Lego Power Functions": 9 étapes
"Ready Maker" - Contrôle du projet "Lego Power Functions": Apprenez à contrôler Lego "Power Functions" composants avec la carte Arduino et construisez votre projet dans le "Ready Maker" éditeur (aucun code requis) pour contrôler à distance votre modèle
HC-06 (module esclave) Changer " NAME " sans utiliser " Monitor Serial Arduino " qui " fonctionne facilement " : Manière sans défaut ! : 3 étapes
HC-06 (module esclave) Modification de " NAME " sans utilisation " Monitor Serial Arduino "… qui " Fonctionne facilement " : Manière sans défaut ! : Après " Longtemps " essayer de changer de nom sur HC - 06 (module esclave), en utilisant " moniteur série de l'Arduino, sans " Succès ", j'ai trouvé un autre moyen facile et je partage maintenant ! Amusez-vous bien les copains
Routeur CNC 3 axes - 60"x60"x5" - JunkBot : 5 étapes (avec photos)
Routeur CNC 3 axes - 60 "x 60" x 5" - JunkBot : ce Instructable est le premier d'une série documentant la construction d'un routeur CNC DIY 3 axes. C'est aussi mon entrée pour le concours Universal Laser Cutter. Le but de ce Instructable n'est pas de montrer une progression complète étape par étape mais plutôt