Galima: pristatymas ir naudojimas
Interneto agentūra » Skaitmeninės naujienos » Galima: pristatymas ir naudojimas

Galima: pristatymas ir naudojimas

Kas yra'Galimas ? Kaip juo naudotis? Kokie konkurentai? Maža gudrybė nukreipti į naują produktą, kuris jau kurį laiką daro didelį įspūdį.

Galimas pasirodė 2012 m. 2015 m. spalį Red Hat paskelbė įsigijusi Ansible, kuri vėliau tapo pavyzdiniu produktu. Tai puikiai dera į sprendimus "Red Hat" ir sustiprina argumentus dėl serverių ūkio valdymo paprastumo.

Galimas yra sprendimas, skirtas diegimui, užduočių vykdymui ir konfigūracijos valdymui keliuose kompiuteriuose vienu metu. Jis yra agentas mažiau ir naudoja SSH atlikti veiksmus, kuriuos reikia atlikti, patys įrašyti YAML.

Dans Galimas, yra daug produktų, kurie pradedantiesiems gali kelti nerimą. Galbūt išgirsite apie Ansible Playbook, Ansible Vault et Ansible Galaxy.

Ansible ir moduliai

Du dalykai, kuriuos reikia žinoti:

  • Kai naudojate Galimas, naudojate modulius. Yra jau parašytų modulių sąrašas, bet galite parašyti ir savo. Turėsite tai parašyti Python.
  • Turite nurodyti domeno / IP grupę arba grupę, kurioje veiksmas turėtų būti naudojamas.

pavyzdys:

Mes patikrinsime, ar mūsų mašina yra gera up su moduliu zvimbimas.

1
2
3
4
5
$ ansible localhost -m ping
localhost | SĖKMĖ => {
"pasikeitė": klaidingas,
"ping": "pongas"
}

Naudoti ką nors kita nei localhost, pvz., domenų rinkinį, turite užpildyti failą /etc/ansible/hosts.

1
2
3
[baptiste-donaux.fr]
www.baptiste-donaux.fr
me.baptiste-donaux.fr
1
2
3
4
5
6
7
8
9
10
$ ansible -m ping baptiste-donaux.fr
me.baptiste-donaux.fr | sėkmės >> {
"pasikeitė": klaidingas,
"ping": "pongas"
}
www.baptiste-donaux.fr | sėkmės >> {
"pasikeitė": klaidingas,
"ping": "pongas"
}

Ir taip mes patikriname, kad a baseinas serveriai gerai up . Čia yra pagrindinių esamų modulių sąrašas.

Kai suprasite, kaip veikia modulis, galite naudoti visus kitus modulius tokiu pačiu būdu. Naudodami modulį galite pateikti argumentus (argumentas -a).

Pavyzdžiui, kaip paleisti vieną komandą per daugelį.

1
2
3
4
5
6
$ ansible -m apvalkalas -a „dokerio versija“ baptiste-donaux.fr
me.baptiste-donaux.fr | sėkmingas | rc=0 >>
Docker versija 1.12.1, statyti 23cf638
www.baptiste-donaux.fr | sėkmingas | rc=0 >>
Docker versija 1.12.1, statyti 23cf638

Tačiau taip pat įsitikinkite, kad paketas yra įdiegtas.

1
2
3
4
$ ansible -m apt -a "vardas = vim būsena = dabartis" www.baptiste-donaux.fr
www.baptiste-donaux.fr | sėkmės >> {
"pasikeitė": klaidingas
}

Arba tiesiog atnaujinkite vieną ar daugiau serverių.

1
2
3
4
5
6
7
8
9
10
11
12
$ ansible -m apt -a „update_cache=yes“ www.baptiste-donaux.fr
www.baptiste-donaux.fr | sėkmės >> {
"pasikeitė": klaidingas
}
$ ansible -m apt -a „atnaujinti=distal“ www.baptiste-donaux.fr
www.baptiste-donaux.fr | sėkmės >> {
"pasikeitė": klaidingas,
"žinutė": „Paketų sąrašų skaitymas...nKuriamas priklausomybės medis...nSkaitoma būsenos informacija...n0 atnaujinta, 0 naujai įdiegta, 0 reikia pašalinti ir 0 neatnaujinta.n,
„stderr“: "",
"stdout": „Paketų sąrašų skaitymas...nKuriamas priklausomybės medis...nSkaitoma būsenos informacija...n0 atnaujinta, 0 naujai įdiegta, 0 reikia pašalinti ir 0 neatnaujinta.n
}

Ansible ir Playbooks (sveiki atvykę į tikrąjį pasaulį)

Valdyti mašinų parką pagal užsakymus jau yra gerai, ir tai visų pirma yra pagrindasGalimas. Nepaisant to, sunku įsivaizduoti scenarijų, vykdant komandas vieną po kitos. Mūsų laimei, ansible-playbook yra čia tam!

Žaidimų knyga, skirta lengvai valdyti užduotis

Scenarijai parašyti YAML. Štai mažas pavyzdys.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
– šeimininkai: baptiste-donaux.fr
užduotys:
- vardas: Pridėkite APT raktą Docker saugyklai
apt_key:
raktų serveris: „hkp://p80.pool.sks-keyservers.net:80“
ID numeris: 58118E89F3A912897C070ADBF76221572C52609D
- vardas: Pridėti APT Docker saugyklą
apt_repository: atpirkimas =„deb https://apt.dockerproject.org/repo debian-jessie main“ būsena=dabartis
- vardas: Atnaujinkite APT talpyklą naudodami naują saugyklą
tinka: update_cache=taip
- vardas: Jei ne, įdiekite dokerio variklio paketąneegzistuoja
apt: pavadinimas=dockerio variklio būsena=dabar
– pavadinimas: įgalinkite ir paleiskite „Docker“ paslaugą
systemd: įjungta=taip būsena=pradėtas vardas=dokeris
– pavadinimas: InstallPython
apt: vardas=python state=dabar
– pavadinimas: Įdiegti PIP
apt: name=python-pip state=present
– pavadinimas: Docker-py priklausomybė
pip: vardas = docker-py
– pavadinimas: Ištraukite Nginx vaizdą
docker_image: name=nginx pull=yes
– pavadinimas: sukurkite Nginx konteinerį
docker_container:
vardas: įgaliotinis
Vaizdas: nginx
publikuoti_portai:
– „80:80“
būsena: dabartis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$ansible my_playbook.yml
ŽAISTI [baptiste-donaux.fr] ********************************************* * **********
UŽDUOTIS [sąranka] ************************************************** *********************
gerai: [baptiste-donaux.fr]
UŽDUOTIS [Pridėti APT raktą forumas Docker saugykla] ********************************************
gerai: [baptiste-donaux.fr]
UŽDUOTIS [Pridėti APT Docker saugyklą] *********************************************** ****
gerai: [baptiste-donaux.fr]
UŽDUOTIS [Atnaujinti APT talpyklą su nauja saugykla] ****************************************
gerai: [baptiste-donaux.fr]
UŽDUOTIS [Įdiekite doko variklio paketą if taip nėraneegzistuoja] **************************
gerai: [baptiste-donaux.fr]
UŽDUOTIS [Įdiegti Python] ***************************************************** *************
gerai: [baptiste-donaux.fr]
UŽDUOTIS [Įdiegti PIP] ************************************************* ****************
gerai: [baptiste-donaux.fr]
UŽDUOTIS [priklausomybė nuo doko] *********************************************** *********
gerai: [baptiste-donaux.fr]
UŽDUOTIS [Nginx Image Pull] ************************************************ *************
gerai: [baptiste-donaux.fr]
UŽDUOTIS [Sukurti Nginx konteinerį] *********************************************** *****
gerai: [baptiste-donaux.fr]
PLAY RECAP**************************************************** **************************
baptiste-donaux.fr: ok=10 pakeista=0 nepasiekiama=0 nepavyko=0

Ir tai nėra nieko paprasčiau. Be viso scenarijaus vykdymo serverių rinkinyje, jei vienas iš jų randamas per klaidą, failas .bandyk dar kartą bus sukurta ir paleidus komandą iš naujo scenarijus bus tęsiamas ten, kur baigėte.

Lengvai paleiskite scenarijų iš naujo ir tęskite ten, kur baigėte

Ansible Galaxy ir Vault

Galaxy ir kur laikyti savo modifikacijas

Ansible-Galaxy yra centras, skirtas dalytis savo moduliais. Tai veikia šiek tiek panašiai „Docker Hub“ „Docker“ vaizdams.

Vault ir kaip apsaugoti neskelbtiną informaciją

Kai kuriais atvejais scenarijuose turėsite saugoti neskelbtiną informaciją (slaptažodį ir pan.). Užuot saugoję šią informaciją paprastu tekstu, galite užkoduoti / iššifruoti jos failus.

Mažas pavyzdys nepakenks.

1
2
3
4
# my_playbook.yml
– šeimininkai: localhost
užduotys:
- apvalkalas: sshpass -p "fooo" scp -r /bar baz@localhost:/qux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Užkoduokite failą naudodami „Vault“.
$ansible-vault šifruoja my_playbook.yml
Naujas saugyklos slaptažodis:
Patvirtinkite naują saugyklos slaptažodį:
Šifravimas sėkmingas
# Rodyti užkoduotą žaidimų knygą
$cat my_playbook.yml
ANSIBLE_VAULT $;1.1;AES256
34396264333338636331323838386331393664623065383463663661373436643764336536326662
6238626432373334356436613935306630376461633136650a316561316531323937633963643032
64643239616561653864346132356537656536313030656532373733316262663536396438383262
3463373265636232640a626364306666373665303633663630353132383764323530646438383737
31336163633631373162356339633739356461656130353533306137613436663333383137376366
62383533393262376362393565386133306432323266393034616331333932663266613739653538
36663666333938323961343231366266323430376234376363353662386366373061636434613763
35653139316465613562613834373434636238643661633434326661303438666233313732653338
3264
# Naudokite užkoduotą žaidimų knygą prieš tai jos neiškoduodami
$ ansible-playbook my_playbook.yml –ask-vault-pass
Vault slaptažodis:
...

Naudodami Ansible Vault nesunku apsaugoti savo žaidimų knygas

Išvada

Šiuo straipsniu siekiama pristatyti Galimas ir parodykite, kaip tai gali supaprastinti jūsų užduotis. Nedvejodami pateikite atsiliepimą, patobulinkite ir (arba) pataisykite šį įrašą.

★ ★ ★ ★ ★