Trin 1: Installation af Ansible
Trin 2: Opsætning af SSH-nøgler
Trin 3: Test Ansible
Ansible er et konfigurationsstyringssystem. Konfigurationsstyring giver mulighed for automatisk implementering, konfiguration og centraliseret administration af applikationer. Dette er praktisk, hvis du har brug for at implementere din applikation på flere servere uden at skulle gøre dette manuelt på alle dine servere. Du kan også tilføje identiske servere til din klynge. Du kunne f.eks. sætte en load balancer/cluster/failover op med dette.
Ansible leverer konfigurationsstyring, så du meget nemt kan tilføje identiske servere til din klynge. Du kan også udføre centraliseret administration af alle dine servere på ét sted. Du kan køre en apt-get updatepå alle servere på én gang!
Personligt foretrækker jeg Ansible, fordi det gør jobbet uden at skulle manuelt installere software på alle dine servere. Det udfører implementering og styring over SSH. SSH er et standardmedie til serverstyring, men en ulempe her er, at du skal aktivere SSH. Nogle vil måske betragte det som en sikkerhedsrisiko, selvom Ansible arbejder med SSH-nøgler, som er mere sikre.
I denne tutorial vil vi se, hvordan vi kan installere Ansible på Ubuntu 14.04.
Trin 1: Installation af Ansible
Du kan installere Ansible med:
apt-get install ansible
Du skal lægge alle de servere, du vil administrere med Ansible, i /etc/ansible/hostsfilen.
Du skal kommentere alle linjer. Gå til den seneste linje i hostsfilen for at oprette en kategori. Lad os sige, at du har en klynge af web- og databaseservere. Du kan oprette to separate kategorier: webog db. Hvis du ønsker at foretage en ændring på alle databaseservere, kan du bruge dbsom valg, så kun alle databaseservere bliver påvirket og ikke andre servere såsom dine webservere i webkategorien.
Eksempel:
[web]
localhost ansible_ssh_host=127.0.0.1
web1 ansible_ssh_host=192.168.2.2
web2 ansible_ssh_host=0.0.0.0
[db]
db1 ansible_ssh_host=192.168.2.3
db2 ansible_ssh_host=192.168.2.4
db3 ansible_ssh_host=192.168.2.5
db4 ansible_ssh_host=192.168.2.6
Format: name ansible_ssh_host=ip
Bemærk, at hvis du bruger Ansible 2.0, er ssh_delen blevet forældet. Brug i stedet ansible_host.
nameer blot et navn, der henviser til din server, iper den faktiske IP.
Dette fortæller Ansible at du har 3 webservere på de IP-adresser 127.0.0.1, 192.168.2.2og 0.0.0.0og 4 databaseservere på IP-adresserne 192.168.2.3-6.
Trin 2: Opsætning af SSH-nøgler
Ansible fungerer med SSH-nøgler. Hvis din SSH-nøgle på noder ikke er den samme som på din Ansible-server, vil den give dig en fejl. Derfor skal vi generere en SSH-nøgle.
ssh-keygen
Tilføj nu din SSH-nøgle til dine noder. Hvis alle dine noder er på Vultr, skal du gå til Vultr SSH- nøglemanageren og tilføje din offentlige nøgle. Den kan findes her:
cat ~/.ssh/id_rsa.pub
Når du installerer din server, skal du vælge din SSH-nøgle i afsnittet "SSH-nøgler".
Trin 3: Test Ansible
For at se om du kan pinge alle dine servere i hostsfilen, kan du bruge følgende kommando:
ansible -m ping all
Dette bekræfter, om dine servere er online eller ej.
Du kan også udføre en kommando:
ansible web -m command -a 'shutdown -h now'
Vi har netop udført kommandoen shutdown -h nowpå alle servere i webkategorien.
På dette tidspunkt er Ansible sat op og klar til at gå. Det virker ret simpelt, ikke? Nå, vi har ikke dækket den mest kraftfulde funktion af Ansible endnu: playbooks. Lær mere om playbooks i denne øvelse .