Lehetséges: Áttekintés és használat
Webügynökség » Digitális hírek » Lehetséges: Áttekintés és használat

Lehetséges: Áttekintés és használat

Mi a'Ansible ? Hogyan kell használni? Milyen versenytársak? Egy kis trükk egy új termék megcélzásához, amely már egy ideje erős benyomást kelt.

Ansible 2012-ben jelent meg. 2015 októberében a Red Hat bejelentette az Ansible felvásárlását, amely aztán zászlóshajóvá vált a készletében. Ez tökéletesen illeszkedik a megoldásokba Red Hat és megerősíti a szerverfarm kezelésének egyszerűségével kapcsolatos érveket.

Ansible megoldás a telepítések, a feladatvégrehajtás és a konfigurációkezelés több gépen történő egyidejű végrehajtására. Ő van ügynök kevesebb és felhasználja SSH a végrehajtandó cselekvések végrehajtására, magukat beleírva YAML.

Dans Ansible, sok olyan termék van, ami zavaró lehet az induláskor. Lehet hallani róla Ansible Playbook, Ansible Vault et Ansible Galaxy.

Ansible és a modulok

Két dolgot kell tudni:

  • Amikor használod Ansible, modulokat használ. Van egy lista a már megírt modulokról, de írhatsz sajátot is. Pythonban kell megírnia.
  • Meg kell adnia egy tartomány/IP-csoportot vagy csoportot, ahol a műveletet alkalmazni kell.

például:

Ellenőrizzük, hogy jó-e a gépünk up a modullal fütyülés.

1
2
3
4
5
$ ansible localhost -m ping
localhost | SIKER => {
"megváltozott": hamis,
"ping": "pong"
}

Mást használni, mint localhost, például egy tartománykészletet, be kell fejeznie a fájlt /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 | siker >> {
"megváltozott": hamis,
"ping": "pong"
}
www.baptiste-donaux.fr | siker >> {
"megváltozott": hamis,
"ping": "pong"
}

És így ellenőrizzük, hogy a medence szerverek jó up . Itt található a jelen lévő alapmodulok listája.

Miután megértette egy modul működését, ugyanúgy használhatja az összes többi modult is. Modul használatakor argumentumokat adhatunk meg (argumentum -a).

Például, hogyan futtassunk egy parancsot több felett.

1
2
3
4
5
6
$ ansible -m shell -a „docker – verzió” baptiste-donaux.fr
me.baptiste-donaux.fr | sikeres | rc=0 >>
Docker 1.12.1 verzió, build 23cf638
www.baptiste-donaux.fr | sikeres | rc=0 >>
Docker 1.12.1 verzió, build 23cf638

De győződjön meg arról is, hogy egy csomag telepítve van.

1
2
3
4
$ ansible -m apt -a „név=vim állapot=jelen” www.baptiste-donaux.fr
www.baptiste-donaux.fr | siker >> {
"megváltozott": hamis
}

Vagy egyszerűen frissítsen egy vagy több szervert.

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 | siker >> {
"megváltozott": hamis
}
$ ansible -m apt -a „upgrade=dist” www.baptiste-donaux.fr
www.baptiste-donaux.fr | siker >> {
"megváltozott": hamis,
"üzenet": „Csomaglisták olvasása…nFüggőségi fa építése…nÁllapotinformációk olvasása…n0 frissítve, 0 újonnan telepítve, 0 eltávolítandó és 0 nem frissítve.n”,
"stderr": "",
"stdout": „Csomaglisták olvasása…nFüggőségi fa építése…nÁllapotinformációk olvasása…n0 frissítve, 0 újonnan telepítve, 0 eltávolítandó és 0 nem frissítve.n”
}

Ansible és Playbooks (üdvözöljük a valódi világban)

A géppark rendelésekkel történő kezelése már jó, és mindenekelőtt az alapjaAnsible. Ennek ellenére nehéz elképzelni egy forgatókönyvet úgy, hogy parancsokat egymás után hajtanak végre. Szerencsére nekünk, lehetséges-játékkönyv azért van itt!

Útmutató a feladatok egyszerű kezeléséhez

A forgatókönyvek YAML-ben vannak megírva. Íme egy kis példa.

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
- otthont ad: baptiste-donaux.fr
feladatok:
- név: Adjon hozzá APT-kulcsot a Docker-tárhoz
apt_key:
kulcsszerver: "hkp://p80.pool.sks-keyservers.net:80"
id: 58118E89F3A912897C070ADBF76221572C52609D
- név: Az APT Docker lerakat hozzáadása
apt_repository: repos='deb https://apt.dockerproject.org/repo debian-jessie main' állapot=jelen
- név: Frissítse az APT gyorsítótárat új tárral
alkalmas: update_cache=Igen
- név: Telepítse a docker-engine csomagot, ha nemnem létezik
apt: név=docker-motor állapota=jelen
– név: A Docker szolgáltatás engedélyezése és elindítása
systemd: engedélyezve=igen állapot=elindult név=docker
– név: InstallPython
apt: name=python state=present
– név: PIP telepítése
apt: name=python-pip state=present
– név: docker-py függőség
pip: name=docker-py
– név: Nginx kép húzása
docker_image: name=nginx pull=yes
– név: Hozzon létre egy Nginx-tárolót
docker_container:
név: proxy
kép: nginx
közzétett_portok:
– „80:80”
állapot: jelen
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
PLAY [baptiste-donaux.fr] ********************************************* * **********
FELADAT [beállítás] ************************************************** *********************
rendben: [baptiste-donaux.fr]
FELADAT [APT kulcs hozzáadása mert Docker repository] ********************************************
rendben: [baptiste-donaux.fr]
FELADAT [APT Docker adattár hozzáadása] *********************************************** ****
rendben: [baptiste-donaux.fr]
FELADAT [APT gyorsítótár frissítése új tárolóval] ****************************************
rendben: [baptiste-donaux.fr]
FELADAT [Dokkermotor-csomag telepítése if nem aznem létezik] **************************
rendben: [baptiste-donaux.fr]
FELADAT [Python telepítése] ***************************************************** *************
rendben: [baptiste-donaux.fr]
FELADAT [Install PIP] ***************************************************** ***************
rendben: [baptiste-donaux.fr]
FELADAT [docker-py dependency] *********************************************** *********
rendben: [baptiste-donaux.fr]
FELADAT [Nginx Image Pull] **************************************************** *************
rendben: [baptiste-donaux.fr]
FELADAT [Nginx-tároló létrehozása] *********************************************** *****
rendben: [baptiste-donaux.fr]
PLAY RECAP**************************************************** **************************
baptiste-donaux.fr: ok=10 megváltozott=0 elérhetetlen=0 sikertelen=0

És ez semmivel sem egyszerűbb. Amellett, hogy egy teljes forgatókönyvet futtat egy kiszolgálón, ha valamelyiket hibásan találja, egy fájl .próbálja újra létrejön, és a parancs újraindításával a forgatókönyv ott folytatódik, ahol abbahagyta.

Könnyen indítsa újra a forgatókönyvet, és folytassa onnan, ahol abbahagyta

Ansible Galaxy és Vault

Galaxy és hol tárolhatja modjait

Az Ansible-Galaxy egy Hub a modulok megosztására. Kicsit úgy működik Docker hub Docker képekhez.

Vault és az érzékeny információk védelme

Bizonyos esetekben érzékeny információkat kell tárolnia a forgatókönyvekben (jelszó stb.). Ahelyett, hogy ezeket az információkat egyszerű szövegben tárolná, kódolhatja/dekódolhatja a fájljait.

Egy kis példa nem árt.

1
2
3
4
# my_playbook.yml
- otthont ad: localhost
feladatok:
– héj: sshpass -p "fuu" 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
# Kódolja a fájlt a Vault segítségével
$ansible-vault titkosítja a my_playbook.yml fájlt
Új Vault jelszó:
Erősítse meg az új Vault jelszót:
A titkosítás sikeres
# Jelenítse meg a kódolt játékkönyvet
$ macska my_playbook.yml
$ANSIBLE_VAULT1.1 AES256
34396264333338636331323838386331393664623065383463663661373436643764336536326662
6238626432373334356436613935306630376461633136650a316561316531323937633963643032
64643239616561653864346132356537656536313030656532373733316262663536396438383262
3463373265636232640a626364306666373665303633663630353132383764323530646438383737
31336163633631373162356339633739356461656130353533306137613436663333383137376366
62383533393262376362393565386133306432323266393034616331333932663266613739653538
36663666333938323961343231366266323430376234376363353662386366373061636434613763
35653139316465613562613834373434636238643661633434326661303438666233313732653338
3264
# Használja a kódolt játékkönyvet anélkül, hogy először dekódolná
$ ansible-playbook my_playbook.yml –ask-vault-pass
Vault jelszó:
...

Az Ansible Vault segítségével könnyen megvédheti játékkönyveit

Következtetés

Ennek a cikknek a bemutatása a célja Ansible és megmutatja, hogyan egyszerűsítheti le a feladatait. Nyugodtan küldjön visszajelzést, javítsa és/vagy javítsa ezt a bejegyzést.

★ ★ ★ ★ ★