2023 Forfatter: Susan Creighton | [email protected]. Sidst ændret: 2023-08-25 03:47
Et af de mest populære konfigurationsstyrings- og infrastrukturautomatiseringsprodukter på markedet er Ansible. Ansible - sammen med Chef, Puppet, CFEngine - er en del af en klasse software til DevOps. Disse værktøjer hjælper med at automatisere levering af infrastruktur, softwaredistribution og generel konfigurationsstyring.
Ansible er fokuseret på Linux. Med Microsofts nye holdning til open source, deres samfundsbidrag og deres vedtagelse af en mere smidig, DevOps-minded softwareudviklingsmetode, er Windows-support langsomt ved at indhente. Hvis du har hørt om Ansible, men ikke rigtig har brugt det, er det relativt ligetil at blive konfigureret. Selvom Windows-understøttelse kræver en smule mere konfiguration, er det ikke så dårligt, når den første opsætning er udført.
Lad os dykke ned i Ansible og få det til at implementere enkle ændringer i en Windows-knude.
Opsætning af Linux VM med Vagrant
Ansible kører på en kontrolserver. I modsætning til andre konfigurationsstyringsprodukter har det ingen agent og sender kommandoer til de noder, der er under dens kontrol. Desværre for os Windows-fyre, skal det køres på Linux. Hvis du ikke har en ekstra Linux-boks der ligger rundt, lad os bringe en op. Jeg bruger Vagrant til alle mine indledende test. Det er den nemmeste måde, jeg har fundet på, at jeg hurtigt får en VM med næsten enhver smag, der kører hurtigt. Dette bliver ikke en artikel om, hvordan man opretter en Vagrant-boks, men jeg giver dig Vagrant-filen, jeg bruger til at få vist min testboks.
# - * - tilstand: rubin - * -
# vi: sæt ft = rubin:
Vagrant.configure (2) do | config |
config.vm.define "ansible" do | ctl |
ctl.vm.box = "boxcutter / ubuntu1604"
ctl.vm.hostname = "ansvarlig"
ctl.vm.network "private_network", ip: "192.168.2.5"
ctl.vm.provider "virtualbox" do | vb |
vb.memory = 2048
ende
endend
Denne VagrantFile vil downloade en Ubuntu-boks på VirtualBox, kalde den 'ansvarsfuld', tildele en privat IP og give den 2 GB RAM.
Installation af Ansible
Hvis vi antager, at du har konfigureret denne testboks, installerer vi nu Ansible. For at gøre dette skal jeg ssh ind i Linux-boksen. Hvis du bruger Vagrant, kan VM forbindes til ved at skrive 'vagrant ssh'. Ellers skal du sandsynligvis downloade Putty eller en anden Windows SSH-klient. Når du først er på Linux-serverens konsol, er det tid til at vænne sig til kommandolinjen. Ansible indeholder nogle installationsinstruktioner, men fra min erfaring blev nogle ting gået glip af. Lad os dække de kommandoer, som jeg brugte for at få Ansible i gang.
Bemærk: Alle kommandoer, jeg kører, vil være på Ubuntu 16.04. Hvis du kører nogen anden version af Ubuntu eller distribution, kan dine kommandoer være lidt forskellige.
Først og fremmest er det sikrere at sikre, at alle pakker er opdaterede, inden de starter. For at gøre dette skal du bruge apt-get.
sudo apt-get-opdatering
Installer Git for at få udviklingsgrenen af Ansible, fordi den indeholder nyttige Ansible-moduler til os Windows-fyre som win_command og win_shell.
For at forhindre en tillidsadvarsel om et SSL-certifikat anbefaler jeg at indstille miljøvariablen GIT_SSL_NO_VERIFY.
eksport GIT_SSL_NO_VERIFY = 1
Derefter klones Ansible Git-arkivet og alle børneoplagringssteder.
git klon git: //github.com/ansible/ansible.git –recursive
Naviger til det katalog Ansible, der blev oprettet.
cd. / tilgængelig
Ansible bruger Python, så vi vil nu oprette et Python-miljø ved hjælp af kildekommandoen.
kilde./hacking/env-setup
Installer Pip. Pip er Python-pakkehåndteringsprogrammet, som jeg vil bruge til at downloade og installere et par andre påkrævede pakker med.
sudo easy_install pip
Download et par flere påkrævede pakker. Ordren er vigtig her.
sudo pip installere PyYAML Jinja2 httplib2 seks
sudo apt-get install libssl-dev
sudo pip installer paramiko
Opsætning af Ansible til Windows
Svaret skal være installeret og klar til at gå. Fokuser nu på de Windows-specifikke opgaver, der giver Ansible mulighed for at administrere Windows-noder. Da Ansible indbygget fungerer over SSH, har Windows ikke den luksus endnu, så vi bliver nødt til at give Ansible muligheden for at kommunikere med Windows-noder via WinRM. For at gøre det skal vi installere Python pywinrm-biblioteket.
sudo pip installere "pywinrm> = 0.1.1"
Dette er det til softwareinstallationer. Vi bliver nødt til at bede Ansible om ikke at bruge SSH og i stedet bruge WinRM til al kommunikation. På grund af Ansibles udvidelige karakter er der mange måder at få dette til at ske, men jeg har valgt at gøre dette ved at oprette en Windows-lagergruppe inde i en fil kaldet 'hosts' i./hosts.
Bemærk: Sørg for, at Ansible ved, hvor du kan finde din lagerfil. Jeg har valgt at indstille dette i ansible.cfg-filen i den ansible mappe, jeg arbejder i.
[defaults]
inventar = / home / vagrant / ansibletesting / hosts
Når jeg har sikret, at Ansible kan finde min lagerfil, tilføjer jeg vores windows-gruppe derinde.
[Windows]
windowsserver.domain.local
På dette tidspunkt er jeg nødt til at bede Ansible om at bruge WinRM snarere end SSH. Jeg kan indstille Svarbare variabler for lagergrupper ved at oprette en fil kaldet windows.yml inde i gruppen_vars bibliotek.
tryk på./group_vars/windows.yml
Jeg udfylder nu YAML-filen med de krævede variabler. Bemærk nedenfor, at jeg bare bruger WinRM over HTTP og ikke HTTPS. Selvom dette er muligt, kræver det en smule yderligere konfiguration. Se dette link, hvis du vil konfigurere
ansible_user: administrator
ansible_password:
ansible_port: 5985
ansible_connection: winrm
ansible_winrm_scheme:
ansible_winrm_server_cert_validation: ignorere
Jeg bruger den lokale administrator-konto til at oprette forbindelse til Windows-noder. Active Directory-support er tilgængelig, men er uden for denne artikels rækkevidde.
På dette tidspunkt kan jeg køre det indbyggede Ansible-modul win_ping. Dette modul vil gå ud og oprette en WinRM-session for at sikre, at det er etableret med succes. Du kan se nedenfor, at jeg fortæller Ansible om at køre win_ping-modulet for alle noder inde i windows-beholdningsgruppen.
ansvarsfulde windows -m win_ping
Svarende til at køre win_ping-modulet
Anbefalet:
Sådan Kommer Du I Gang Med Direct Mail

I en primært digital verden kan gammeldags direct mail-kampagner skille sig ud
Kom Godt I Gang Med Amazon Associates-tilknyttede Program

Vil du tjene penge ved at inkludere Amazon-links i dine blogindlæg eller publicerede artikler? Her er en guide til at blive medlem af Amazon Associates-tilknyttede program
Alt Hvad Du Behøver At Vide For At Komme I Gang Med Slack

Vil du begynde at bruge Slack til din forretningskommunikation? Kom godt i gang med vores brugervejledning
Kom I Gang! 3 Måder At Forblive Aktive På Kontoret

Sidder du ved et skrivebord hele dagen? Her er et par måder at komme i bevægelse og afværge de dårlige virkninger af en stillesiddende livsstil
Bouncing Back: 5 Store Virksomheder, Der Kom Sig Tilbage Fra Konkurs

En finansiel krise kan ødelægge en virksomhed, men disse fem virksomheder rebound fra randen af konkurs