För att utföra en automatiserad uppgift på en fjärrvärd med Ansible är det nödvändigt att fylla och arbeta med vissa variabler, som förväntat. Till exempel är denna typ av uppgift nödvändig för att sätta en fjärrvärd online, tillåta inloggning och användarbehörighet och ställa in en Python-miljö.
Det är möjligt att SSH till en fjärrvärd och kontrollera om värden uppfyller alla kriterier. Som ett automatiseringsverktyg tillhandahåller Ansible dock moduler som låter dig utföra dessa tråkiga, tidskrävande uppgifter i en enda kommandorad.
Denna handledning visar hur du använder Ansible-inbyggda ping-modulen för att utföra olika uppsättningsvariabler på fjärrvärdar. Ansible ping-begäran är ett enkelt men ändå användbart verktyg som du kan använda för att testa tillgängligheten och användbarheten hos fjärrvärdar.
Vi kommer nu att titta närmare på hur Ansible-ping fungerar.
NOTERA: Detta avsnitt är något teoretiskt. Om allt du behöver är den tekniska delen av artikeln kan du hoppa över det här avsnittet. Ändå rekommenderar vi att du läser det här avsnittet, eftersom det ger användbara insikter och information om ping-modulen.
Med detta noteras kommer vi nu att introducera ping-modulen.
Om Ansible ping-modulen
Ansible ping-begäran kontrollerar fjärrvärden. Denna modul söker specifikt efter:
- Oavsett om fjärrvärden är uppe och tillgänglig.
- Huruvida Python-miljön framgångsrikt kan köra de nödvändiga spelböckerna.
- Användarens inloggning och behörigheter.
Efter att en pingförfrågan har skickats till fjärrvärden returnerar modulen ett värde som indikerar om pingen lyckades. Som standard returnerar ping-modulen strängen "pong" efter framgång och ett undantag vid fel (om det anges).
PROFFSTIPS: För att säkerställa att dina Ansible-spelböcker på fjärrvärdarna inte misslyckas, använd ping-modulen för att kontrollera om kraven uppfylls och utför bara uppgifterna om en lyckad utdata erhålls.
Funktioner i Ansible ping-modulen
Ping-modulen är ganska enkel, och följande är en lista över de funktioner som tillhandahålls av den här modulen:
- Inte ett ICMP-ping; snarare är det en liten modul som kräver en giltig Python-miljö på fjärrvärdar.
- Windows fjärrvärdar bör istället använda win_ping-modulen.
- Tillhandahåller en net_ping-modul för nätverksenheter.
- Accepterar endast en enda parameter för att höja ett undantag.
- Används som standard när du anropar ansible-kommandot i katalogen / usr / bin / ansible för att verifiera inloggningsbehörigheter och en giltig Python-miljö.
- Returnerar strängen "pong" efter framgång.
Hur man använder Ansible ping-modulen
Vi tittar nu på några exempel som använder Ansible ping-modulen.
Med AD HOC ping-kommandot
Det enklaste sättet att köra Ansible ping-modulen är att köra ett enkelt AD HOC-kommando i terminalen.
AD HOC-kommandot är som följer:
ansible all -m ping -vOvanstående kommando börjar med att anropa Ansible, följt av värdens specifika mönster. I det här fallet vill vi pinga 'alla' värdar. Nästa del, '-m', anger modulen som vi vill använda. '-V' står för närmare.
Efter framgång får du en utdata som den som visas nedan:
Använda / etc / ansible / ansible.cfg som konfigurationsfil 35.222.210.12| FRAMGÅNG =>
"ansible_facts":
"discovery_interpreter_python": "/ usr / bin / python",
"ändrad": falsk,
"pingis"
Om fjärrvärdarna inte är tillgängliga (kanske de är offline) får du en utdata som den som visas nedan:
Använda / etc / ansible / ansible.cfg som konfigurationsfil 35.222.210.12| ONÅBAR! =>
"ändrad": falsk,
"msg": "Det gick inte att ansluta till värden via ssh: ssh: ansluta till värd 35.222.210.12 port 22: Timeout för anslutning ",
"unreachable": sant
Använda ping-modulen i Playbooks
Du kan också använda ping-modulen i en spelbok. I de flesta fall bygger du inte en spelbok som bara utför en ping-begäran. Du kan dock slå in alla uppgifter i villkoren för ping-begäran.
Tänk på följande enkla spelbok:
- värdar: allabli: ja
uppgifter:
- ping
Du kanske märker att i ovanstående spelbok inkluderade jag "bli" -direktivet. Detta är inte ett krav, men jag har stött på fall där ping-modulen misslyckas för en standardanvändare. Du kan nu köra spelboken och kontrollera om värdservern uppfyller kraven för ett framgångsrikt "pong" -svar.
ansible-playbook ping.ymlOm ping misslyckas får du följande "oåtkomliga" fel:
dödlig: [35.222.210.12]: OÅTGÄNGLIG! => "ändrad": falsk, "msg": "Det gick inte att ansluta till värden via ssh: ssh: ansluta till värd 35.222.210.12 port 22: Anslutningens timeout "," unreachable ": trueAnvända höjningsundantaget med pingmodulen
Du kan också ange data som en krasch för att framkalla ett undantag. Detta ändrar standardavkastningen från 'pong' till 'krasch.''
Tänk på följande spelbok:
- värdar: allabli: ja
uppgifter:
- ping:
krasch: data
Att köra spelboken med undantag ska returnera följande värde:
ansible-playbook ping_except.yml
Slutsats
Den här guiden visade dig hur olika ping-modulen är. Även om den här modulen inte innehåller komplexa parametrar som de flesta Ansible-moduler, innehåller den fortfarande kraftfulla funktioner. Du kan till exempel använda ping-modulen för att kontrollera om ett fel beror på en saknad Python-miljö och skapa en uppgift för att installera den önskade miljön på fjärrvärden.