Trinn 1: Installere Ansible
Trinn 2: Sette opp SSH-nøkler
Trinn 3: Test Ansible
Ansible er et konfigurasjonsstyringssystem. Konfigurasjonsadministrasjon gir mulighet for automatisk distribusjon, konfigurasjon og sentralisert administrasjon av applikasjoner. Dette er nyttig hvis du trenger å distribuere applikasjonen din på flere servere uten å måtte gjøre dette manuelt på alle serverne dine. Du kan også legge til identiske servere til klyngen din. Du kan for eksempel sette opp en lastbalanser/cluster/failover med dette.
Ansible gir konfigurasjonsadministrasjon slik at du kan legge til identiske servere til klyngen din veldig enkelt. Du kan også gjøre sentralisert administrasjon for alle serverne dine på ett sted. Du kan kjøre en apt-get updatepå alle servere samtidig!
Personlig foretrekker jeg Ansible fordi den gjør jobben uten å måtte installere programvare manuelt på alle serverne dine. Den utfører distribusjon og administrasjon over SSH. SSH er et standard medium for serveradministrasjon, men en ulempe her er at du må aktivere SSH. Noen vil kanskje vurdere det som en sikkerhetsrisiko, selv om Ansible fungerer med SSH-nøkler, som er sikrere.
I denne opplæringen skal vi se hvordan vi kan installere Ansible på Ubuntu 14.04.
Trinn 1: Installere Ansible
Du kan installere Ansible med:
apt-get install ansible
Du må legge alle serverne du vil administrere med Ansible i /etc/ansible/hostsfilen.
Du må kommentere alle linjene. Gå til den siste linjen i hostsfilen for å opprette en kategori. La oss si at du har en klynge av web- og databaseservere. Du kan opprette to separate kategorier: webog db. Hvis du ønsker å gjøre en endring på alle databaseservere, kan du bruke dbsom valg slik at bare alle databaseservere blir berørt og ikke andre servere som webserverne dine 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
Merk at hvis du bruker Ansible 2.0, er ssh_delen avviklet. Bruk heller ansible_host.
nameer bare et navn for å referere til serveren din, iper den faktiske IP-en.
Dette forteller Ansible at du har 3 webservere på IP-adresser 127.0.0.1, 192.168.2.2og 0.0.0.0og 4 databaseservere på IP-adresser 192.168.2.3-6.
Trinn 2: Sette opp SSH-nøkler
Ansible fungerer med SSH-nøkler. Hvis SSH-nøkkelen din på noder ikke er den samme som på Ansible-serveren, vil den gi deg en feil. Derfor må vi generere en SSH-nøkkel.
ssh-keygen
Legg nå til SSH-nøkkelen til nodene dine. Hvis alle nodene dine er på Vultr, gå til Vultr SSH-nøkkelbehandleren og legg til den offentlige nøkkelen din. Den finner du her:
cat ~/.ssh/id_rsa.pub
Deretter, når du distribuerer serveren din, velger du SSH-nøkkelen din i delen "SSH-nøkler".
Trinn 3: Test Ansible
For å se om du kan pinge alle serverne dine i hostsfilen, kan du bruke følgende kommando:
ansible -m ping all
Dette bekrefter om serverne dine er online eller ikke.
Du kan også utføre en kommando:
ansible web -m command -a 'shutdown -h now'
Vi har nettopp utført kommandoen shutdown -h nowpå alle servere i webkategorien.
På dette tidspunktet er Ansible konfigurert og klar til bruk. Virker ganske enkelt, ikke sant? Vel, vi har ikke dekket den kraftigste funksjonen til Ansible ennå: playbooks. Lær mer om playbooks i denne opplæringen .