Met de OpenStack CLI beheer je de resources in je OpenStack-project vanuit een terminal of PowerShell. CLI staat voor command-line interface. In plaats van handelingen uit te voeren via de OpenStack-webinterface, geef je opdrachten met commando’s.
De OpenStack CLI gebruikt voor alle resources een vergelijkbare commandostructuur. Wanneer je deze structuur begrijpt, gebruik je dezelfde werkwijze voor bijvoorbeeld instances, images, networks, security groups en volumes.
In deze handleiding controleer je de installatie en authenticatie, vraag je beschikbare commando’s op en doorloop je de volledige lifecycle van een testresource. Je maakt de resource aan, bekijkt en wijzigt deze en verwijdert de resource daarna weer.
- Voor deze handleiding moeten de OpenStack command-line tools geïnstalleerd en geconfigureerd zijn. Volg hiervoor eerst de handleiding ‘OpenStack CLI tools installatie’.
- De commando’s worden direct op je OpenStack-project uitgevoerd. Controleer daarom voor het wijzigen of verwijderen van een resource altijd de naam en het ID.
De CLI en authenticatie controleren
Stap 1
Open een terminal in Linux of macOS, of open PowerShell in Windows.
Stap 2
Controleer welke versie van de OpenStack CLI is geïnstalleerd:
openstack --versionDit commando maakt geen verbinding met OpenStack. De output bevestigt alleen dat de OpenStack CLI beschikbaar is in je huidige shell.
Krijg je de melding dat het commando niet bestaat, controleer dan de installatie en open de terminal of PowerShell daarna opnieuw.
Stap 3
Vraag een tijdelijk authentication token op om de verbinding met je OpenStack-project te controleren:
openstack token issueBij een succesvolle authenticatie toont de CLI onder andere het token-ID, het project-ID en het moment waarop het token verloopt. Je hoeft het token niet te kopiëren of op te slaan.
Krijg je een authentication error, controleer dan de ingestelde credentials, het project en de authentication URL.
De opbouw van een OpenStack-commando
OpenStack-commando’s gebruiken doorgaans de volgende structuur:
openstack [global-options] <object> <action> [command-options] [arguments]- openstack start de OpenStack CLI.
- object is het type resource waarop je het commando uitvoert, bijvoorbeeld security group, server of network.
- action bepaalt wat je met de resource doet, bijvoorbeeld list, show, create, set of delete.
- command-options passen de uitvoering van het commando aan.
- arguments verwijzen naar de resource of de waarde die het commando gebruikt.
Het volgende commando maakt bijvoorbeeld een security group met de naam cli-demo:
openstack security group create --description "Testresource voor de OpenStack CLI-handleiding" cli-demoIn dit commando is security group het object en create de action. Het optionele argument --description voegt een omschrijving toe. Het laatste argument, cli-demo, is de naam van de nieuwe resource.
Beschikbare commando’s en help opvragen
Alle commando’s tonen
Toon de algemene help en de beschikbare global options:
openstack --helpGebruik het volgende commando voor een overzicht van alle commando’s die door de geïnstalleerde OpenStack CLI en plugins worden herkend:
openstack command list
Commando’s per servicegroep tonen
Beperk de lijst bijvoorbeeld tot commando’s voor network-resources:
openstack command list --group networkHet optionele argument --group filtert de output op de opgegeven servicegroep. Andere veelgebruikte groepen zijn compute, image, identity en volume.
Help voor een specifiek commando opvragen
Vraag de beschikbare options en arguments voor een specifiek commando op:
openstack help security group create Vervang security group create door het commando waarover je informatie nodig hebt. De help toont de syntax, beschikbare options en verplichte arguments van het commando.
Een resource beheren met de OpenStack CLI
In de volgende stappen gebruik je een security group als testresource. Een security group bevat netwerkregels voor instances en andere resources. Voor deze oefening voeg je geen netwerkregels toe en koppel je de security group niet aan een instance.
Met deze testresource doorloop je de acties create, list, show, set en delete. Dezelfde basisacties worden ook voor veel andere OpenStack-resources gebruikt.
Stap 1
Maak een security group met de naam cli-demo:
openstack security group create --description "Testresource voor de OpenStack CLI-handleiding" cli-demoHet optionele argument --description voegt een omschrijving toe waarmee je het doel van de resource later herkent.
Na het uitvoeren van het commando toont de CLI de eigenschappen van de nieuwe security group, waaronder het ID, de naam en de description.
Stap 2
Toon de security groups in je project:
openstack security group listEen list-commando toont een overzicht van resources. Zoek in de output naar de security group cli-demo en noteer eventueel het ID.
Stap 3
Bekijk de eigenschappen van de security group:
openstack security group show cli-demoEen show-commando toont de eigenschappen van één resource. Bij veel OpenStack-commando’s gebruik je hiervoor zowel de naam als het ID van de resource.
Gebruik in scripts bij voorkeur het ID. Een ID verwijst eenduidig naar één resource, ook wanneer meerdere resources een vergelijkbare naam hebben.
Stap 4
Wijzig de naam van de security group:
openstack security group set --name cli-demo-hernoemd cli-demoHet optionele argument --name bevat de nieuwe naam. Het laatste argument verwijst naar de bestaande security group die je wijzigt.
Controleer de wijziging:
openstack security group show cli-demo-hernoemd
Stap 5
Beperk de output van het list-commando tot de kolommen ID en Name:
openstack security group list --format value --column ID --column Name- --format value verwijdert de tabelopmaak en toont alleen de waarden.
- --column ID beperkt de output tot de kolom ID.
- --column Name voegt de kolom Name aan de output toe.
Je herhaalt --column voor iedere kolom die je in de output wil opnemen. Deze vorm is geschikt om OpenStack-output verder te verwerken in een script.
Gebruik JSON-output wanneer je de eigenschappen van een resource met software of een script wil verwerken:
openstack security group show cli-demo-hernoemd --format jsonHet optionele argument --format json geeft de output terug als JSON-object.
Stap 6
Verwijder de testresource:
openstack security group delete cli-demo-hernoemdEen delete-commando verwijdert de opgegeven resource direct. Controleer daarom voor het uitvoeren van het commando altijd de naam of het ID.
Toon tot slot de namen van de resterende security groups:
openstack security group list --format value --column Name
Dezelfde commandostructuur voor andere resources gebruiken
De acties list en show werken op vergelijkbare wijze voor veel andere OpenStack-resources. Toon bijvoorbeeld de instances in je project:
openstack server listBekijk vervolgens de eigenschappen van één instance:
openstack server show <naam_of_id>Vervang <naam_of_id> door de naam of het ID van de instance en laat daarbij de haakjes weg.
Dezelfde structuur gebruik je onder andere voor networks, images, flavors en volumes:
openstack network list
openstack image list
openstack flavor list
openstack volume listGebruik voor iedere resource eerst het list-commando om de beschikbare resources en ID’s op te vragen. Gebruik daarna show voor de eigenschappen van één specifieke resource en vraag met help de beschikbare acties en options op.
Je hebt gecontroleerd of de OpenStack CLI werkt, de vaste commandostructuur gebruikt en de volledige lifecycle van een testresource doorlopen. Met dezelfde werkwijze beheer je ook instances, networks, images, volumes en andere resources binnen je OpenStack-project.