PowerShell 7 is een veelzijdig shell en programmeertaal. Nu dat het is cross-platform, de meeste systeembeheerders moeten een manier voor het implementeren van de taal om meerdere systemen automatisch. Aan die einde, Ansible is een perfect systeem om gemakkelijk te gebruiken playbooks te implementeren PowerShell 7 op zoveel systemen als nodig kan zijn.
Als u niet bekend bent met Ansible, het is een implementatie van de taal die men kan schrijven playbooks voor het verzenden van een reeks opdrachten uit op systemen en instrueren over wat te doen. In tegenstelling tot veel andere configuratie systemen, is het niet nodig een agent op het doel systeem. Dit maakt het gemakkelijk om te gebruiken en in te stellen.
In dit artikel gaan we verkennen hoe u een eenvoudige Ansible playbook te installeren PowerShell 7 tot meerdere systemen.
Het installeren van Ansible op Windows & Linux
Installeren van Ansible op een Linux-systeem is het zeer gemakkelijk. De meeste pakket systemen voor Linux-distributies hebben dit ingebouwd. Een paar van de veel voorkomende manieren om te installeren Ansible zijn als volgt:
- sudo apt te installeren ansible
- sudo yum install ansible
- sudo dnf installeren ansible
Windows is een uniek geval dat, zoals Ansible is niet beschikbaar als een Windows-pakket. De makkelijkste manier om het installeren van Ansible voor gebruik op Windows is het gebruik van de Windows-Subsysteem voor Linux (WSL). Dit is een gevirtualiseerde exemplaar van Linux dat loopt parallel met Windows. Nadat deze is geïnstalleerd, kunt u gebruik maken van dezelfde installatie commando ‘ s binnen WSL installeren van Ansible.
Instellen Van Ansible
Er zijn een paar belangrijke onderdelen ansible dat we nodig hebben om PowerShell installeren 7. Met name moeten we een hosts-bestand definiëren van onze andere locaties. Er zijn vele manieren om dit op te zetten, maar meestal is er een map structuur zoals hieronder goed te werken.
- voorraden
- playbooks
- vars
Binnen de voorraden directory, zouden wij maken een hosts-bestand bevat alle systemen die we willen richten met onze playbook. Een eenvoudige hosts-bestand dat maakt een groep van hosts onder de productie-tag, wordt hieronder uiteengezet. Opmerkingen nuttig zijn om u te vertellen wat de werkelijke hostnaam van de systemen.
[productie]
#test-systeem-01
100.100.10.10
#test-systeem-02
100.100.10.11
#test-systeem-03
100.100.10.12
#test-systeem-04
100.100.10.13
Je bent in staat om meerdere groepen van hosts en dezelfde host kan bestaan in meerdere groepen. Dit maakt het groeperen en het “taggen” van die hosts eenvoudiger voor het beheren van hen later op voor meer complexe functies.
Het creëren van onze Playbook
Nu hebben we onze hosts-bestand, kunnen we beginnen aan het bouwen van onze playbook. Om dit te doen laten we eerst een nieuwe map maken onder de playbooks map bevatten onze playbook. In dit geval gaan we noemen het implementeren-powershell. Onder deze map, maken we het volgende bestand, centraal.yml. De belangrijkste is.yml bestand is onze primaire aanspreekpunt voor de playbook. Het hoeft niet per se te worden met de naam main.yml maar het is een veel voorkomende conventie.
—
– naam: PowerShell Installeren 7
hosts: alle
taken:
– naam: Downloaden en Toevoegen Powershell-Toets om Apt-Get Sleutelring
apt_key:
url: “https://packages.microsoft.com/keys/microsoft.asc”
staat: aanwezig
– naam: Toevoegen Powershell Repository in /etc/apt/bronnen.lijst – Bionic
apt_repository:
repo: ‘deb [arch=amd64] https://packages.microsoft.com/ubuntu/18.04/prod bionic belangrijkste’
staat: aanwezig
– naam: Powershell Installeren
apt:
pkg: powershell
staat: laatste
kracht: ja
Met de uitbreiding van onze Playbook voor Andere Hosts
Nu onze playbook behandelt alleen Ubuntu Linux systemen. Om deze bij te werken, kunnen we gebruik maken van Ansible conditionals om dit een beetje robuuster. Laten we dit uitbreiden tot ondersteuning van Redhat Linux en Fedora systemen.
Om ondersteuning voor de installatie van pakket systemen maken wij gebruik van de bij voorwaardelijke clausule. Door het lezen van de ansible_distribution waarde, kunnen wij zeggen Ansible om alleen richten op bepaalde uitkeringen voor specifieke opdrachten.
—
– naam: PowerShell Installeren 7
hosts: alle
taken:
– naam: Downloaden en Toevoegen Powershell-Toets om Apt-Get Sleutelring
apt_key:
url: “https://packages.microsoft.com/keys/microsoft.asc”
staat: aanwezig
– naam: Toevoegen Powershell Repository in /etc/apt/bronnen.lijst – Ubuntu
apt_repository:
repo: ‘deb [arch=amd64] https://packages.microsoft.com/ubuntu/18.04/prod bionic belangrijkste’
staat: aanwezig
wanneer: ansible_distribution == ‘Ubuntu’
– naam: repository Toevoegen – Fedora
yum_repository:
naam: microsoft
beschrijving: Microsoft Repository
baseurl: “https://packages.microsoft.com/config/rhel/7/prod.repo”
wanneer: ansible_distribution == ‘Fedora’
– naam: repository Toevoegen – RedHat
yum_repository:
naam: microsoft
beschrijving: Microsoft Repository
baseurl: “https://packages.microsoft.com/config/rhel/7/prod.repo”
wanneer: ansible_distribution == ‘RedHat’
– naam: Powershell Installeren Pakket
apt:
pkg: powershell
staat: laatste
kracht: ja
wanneer: ansible_distribution == ‘Ubuntu’
– naam: Installeer de PowerShell-Pakket
yum:
naam: powershell
staat: laatste
wanneer: ansible_distribution == ‘RedHat’
– naam: Installeer de PowerShell-Pakket
dnf:
naam: powershell
staat: laatste
wanneer: ansible_distribution == ‘Fedora’
Onze Playbook
Onze playbook is ingesteld, dus laten we verder gaan en eigenlijk installeer deze op de systemen die we willen. Om dit te doen, zullen we de volgende opdracht op de opdrachtregel.
ansible-playbook /pad/naar/main.yml -i /pad/naar/hosts
Tijdens het uitvoeren van dit, krijgen we de resultaten van elke stap voor elke host die de playbook wordt uitgevoerd tegen de op hun slagingspercentage. Iedere opdracht zal worden uitgevoerd op elk systeem als de playbook draait, dit betekent dat elke opdracht moet voltooien voordat u naar de volgende opdracht. Bovendien, de voorwaardelijke wanneer zal te zien zijn als een stap in de resultaten.
Conclusie
Ansible maakt het gemakkelijk om PowerShell installeren op meerdere systemen tegelijkertijd. Zodra PowerShell 7 is geïnstalleerd op de systemen, kunt u verder gebruik maken van Ansible te configureer vervolgens de shell voor het aanmelden, remote access, en andere mogelijkheden om het nog makkelijker te migreren van Windows PowerShell of PowerShell Kern van de nieuwe unified PowerShell-7.
Ansible in combinatie met PowerShell kunt u snel en gemakkelijk te verspreiden PowerShell te veel verschillende systemen in een flexibele en handige methode.