Puncte:-1

cum se automatizează instalarea serverelor cu virtualizare/LAMP (IaC mic)?

drapel eg

Cum se automatizează instalarea serverului? Ce infrastructură/sisteme se potrivesc nevoilor noastre?

Avem peste 10 servere fizice cu peste 100 de VM, majoritatea LAMP. Nu prea multe, dar nici nimic care poate continua să funcționeze de la sine. Toate serverele au o virtualizare KVM. Găzduim diverse aplicații personalizate pentru clienții noștri pe care le modificăm frecvent. Deci, aceasta nu este o singură aplicație care trebuie să se extindă. Echipele de proiect lucrează direct cu clienții și cu mașinile virtuale și aceasta este o cerință.

Problema în care intrăm în mod obișnuit este că reinstalarea unui VM/mașină devine dificilă, deoarece nimeni nu controlează modificările recente ale acestora, prezintă un risc de instabilitate, oamenii o amână cât mai mult posibil și problemele devin mai mari în timp.

Aș dori să stabilesc o procedură de reinstalare cel puțin o dată la 3 luni și la cerere. Reinstalarea ar trebui să înceapă cu un depozit de cod și o copie de rezervă. Aceasta nu ar trebui să fie o duplicare VM.

Estimăm că acest lucru ne va costa aproximativ 6 luni la fiecare 3 luni în configurația actuală, dacă este făcut manual. Cum putem reduce acest timp și, de asemenea, să creștem repetabilitatea procesului?

Întrebarea este ce software ne poate ajuta cu automatizarea acestei sarcini. Ar trebui să fie cât mai ușor posibil. Nu avem nevoie de alocare automată de noduri. Trebuie doar să avem reinstalări pentru a fi cât mai automatizate posibil. Ne asumăm supravegherea umană a fiecărei reinstalări.

Nodurile noastre sunt în mare parte LAMP cu două sisteme care au peste 1 TB de date DB structurate, mai multe >200 GB și aproximativ 50 de VM-uri mici, personalizate. Putem programa cu ușurință un timp de nefuncționare planificat al fiecărui sistem, așa că aceasta nu este o întrebare despre disponibilitatea ridicată în timpul reinstalării.

Trebuie doar să automatizăm reinstalarea cât mai mult posibil.

drapel eg
Poate o persoană care dă un vot negativ să comenteze motivul? Nu este politicos...
Puncte:3
drapel us

Aveți nevoie de un cadru de management al configurației precum Ansible, Saltstack, Puppet sau Chef.

Acesta este instrumentul de utilizat pentru gestionarea și aplicarea configurațiilor. Cu toate acestea, selectarea instrumentului real este o parte minoră a proiectului.

Trebuie să proiectați și să implementați procesul, în care toate modificările aduse infrastructurii sunt gestionate prin intermediul acestui instrument.

Este nevoie de:

  • instruirea oamenilor pentru utilizarea instrumentului
  • modificarea arhitecturii sistemului, astfel încât modificările nu pot fi făcute fără instrument
  • care se confruntă cu rezistența la schimbarea modului fundamental de funcționare al oamenilor

De asemenea, ar trebui să luați în considerare unificarea infrastructurii stivei de software.

Dacă fiecare VM are o configurație software puțin diferită, fie o veți avea

  • o mulțime de coduri duplicate în codul de gestionare a configurației pentru diferite instalări
  • logică complexă pentru a alege cum să aplice ce configurație

Oricare dintre acești factori adaugă o mulțime de cheltuieli de întreținere, iar rezultatul final poate deveni la fel de dureros ca situația dvs. actuală.

drapel eg
Multumesc pentru raspuns. Ce cadru ați recomanda să priviți mai întâi în acest scenariu? Aceștia acceptă instalarea virtualizării gazdei?
drapel us
Am doar experiență cu Ansible. Cel puțin Ansible este extensibil și are o comunitate activă care oferă multe tipuri de pluginuri pentru mai multe scopuri. Cu toate acestea, ar trebui să vă faceți propria analiză/comparare a produselor, deoarece nu este posibil să puneți o întrebare suficient de detaliată pentru a ține cont de fiecare detaliu al mediului dumneavoastră.
drapel eg
Am aruncat o privire rapidă pe ansible wiki și se pare că se concentrează pe gestionarea serverelor și nu pe reinstalare. Din experiența dumneavoastră, cât de bine s-ar potrivi sarcinii de a configura un VM de la zero? Scopul meu este să înlocuiesc modificările continue ale VM-urilor cu reinstalări curate din controlul sursei.
drapel us
Eu însumi folosesc Ansible pentru a instala servere VPS de la zero cu stiva de software și configurația pe care vreau să o aibă. Există, de asemenea, pluginuri pentru furnizarea de servere VPS în AWS etc. Sunt destul de sigur că vă poate acoperi bine cazul de utilizare. Totuși, totul depinde de cazul exact de utilizare și de detalii. Trebuie să-l încerci singur.
drapel eg
Tero, mulțumesc pentru ajutor. Îi voi încerca Ansible.
Puncte:0
drapel mx

Cloud-ul dvs. are o cheie API?

Majoritatea norilor au imagini LAMP cu un singur clic, de ex.

Vultr: https://www.vultr.com/apps/lamp/

Oceanul digital: https://marketplace.digitalocean.com/apps/lamp

Linode: https://www.linode.com/docs/guides/lamp-stack-marketplace-app/

Dacă nu, alegerea mea absolută este VestaCP https://vestacp.com/install/

Și https://hestiacp.com/

Ambele adaugă apache backend, front-end nginx, MySQL/mariadb/postgres și php/php-fpm. Toate opționalele de asemenea.

Pentru actualizări, aș crea un server separat, aș introduce o cheie publică SSH comună /root/.ssh/authorized_keys pe care îl are serverul separat, care se poate conecta automat la fiecare server, ceva de genul:

INSTANȚE=(
10.0.0.5
10.0.0.6
10.0.0.7
...
)


pentru INSTANCE în „${INSTANCES[@]}”; do
    ssh root@${INSTANCE} /bin/bash -c „actualizare apt -y && actualizare apt -y”
Terminat

Acesta este destul de mult Terraform, Kubernetes etc. DIY.

De asemenea, pe GitHub, există o mulțime de ghiduri specifice norului, de exemplu:

Un alt Ocean Digital: https://github.com/ethanbeyer/DigitalOcean-Droplet-Setup

Unul AWS: https://github.com/elionaz/aws-LAMP/blob/master/install_lamp.sh

drapel eg
As dori sa pot face o instalatie metalica goala. Fiecare VM are propria sa configurație, acestea variază în funcție de dimensiunea DB etc. Unele sisteme necesită mai mult de o mașină completă. Aș dori să pot instala Debian curat sau altă distribuție selectată de echipă și să exteriorizez toate informațiile specifice vm în depozitul nostru de cod.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.