Winkelwagen

/ .nl-domeinnaam

Jouw .nl voor slechts € 0,49.

Domeinnaam checken
E-mail

/ Hostingpakket keuzehulp

Weet je niet zeker welk hostingpakket de beste
keus is voor jouw website? Met onze keuzehulp
kom je er wel uit.

Direct naar de keuzehulp

/ OpenStack

/ Probeer Public Cloud uit

Gratis 1 maand aan de slag met Public Cloud?

Vraag proefperiode aan

/ TransIP Blog

CSM25: API security in een SaaS-wereld

Lees de blogpost
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Openstack CLI Tools Installatie

    OpenStack biedt meerdere opties voor het beheer van je OpenStack-project. Naast toegang via de Horizon-webinterface, kun je ook gebruikmaken van de 'Command Line Interface' (CLI) van OpenStack waarmee je jouw OpenStack-omgeving volledig kunt beheren en onderhouden.

    In deze handleiding laten we zien hoe je de OpenStack CLI client installeert op Windows, macOS en Linux-systemen. We raden aan om vóór de installatie te controleren of je computer volledig up-to-date is.


    OpenStack CLI-tools installeren in Windows

     

    Het is aanzienlijk eenvoudiger om de OpenStack CLI-tools te installeren als je de Windows Subsystem for Linux (WSL) gebruikt. Gebruik in dat geval de installatie-instructie voor Linux.

     

     

     

    Stap 1

    Log in op de OpenStack Horizon-webinterface en klik rechtsboven op je gebruikersnaam > 'OpenStack RC File v3'. Een download voor <gebruikersnaam>-open-stack-openrc.sh wordt gestart. Sla het bestand op in een locatie waar je makkelijk bij kunt.

    OpenStack Horizon download rc file


     

    Stap 2

    Windows kan standaard niet omgaan met shell-scripts en alternatieve methodes om die uit te voeren hebben wisselende resultaten. Daarom raden we aan het gedownloade bestand aan te passen naar een PowerShell-script.

    Open het gedownloade bestand en verwijder alle uitgecommentarieerde regels (de regels die met # beginnen) en de regels die met 'if' beginnen. Het resultaat ziet er als volgt uit:

    export OS_AUTH_URL=https://auth.teamblue.cloud
    export OS_PROJECT_ID=<jouw-project-id>
    export OS_PROJECT_NAME="<jouw-project-naam"
    export OS_USER_DOMAIN_NAME="transip"
    export OS_PROJECT_DOMAIN_ID="ac231232123e1239b1f693ed5a5ee2e6"
    unset OS_TENANT_ID
    unset OS_TENANT_NAME
    export OS_USERNAME="<jouw-gebruikersnaam>"
    echo "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "
    read -sr OS_PASSWORD_INPUT
    export OS_PASSWORD=$OS_PASSWORD_INPUT
    export OS_REGION_NAME="AMS2"
    export OS_INTERFACE=public
    export OS_IDENTITY_API_VERSION=3

    Maak in deze regels de volgende aanpassingen:

    • Vervang 'export' en 'unset' door '$env:'
    • Sluit de regel $env:OS_TENANT_ID en $env:OS_TENANT_NAME af met = $null
    • Vervang het hele 'echo'-deel door: $OS_PASSWORD_INPUT = Read-Host -Prompt "Please enter your OpenStack Password for project $env:OS_PROJECT_NAME as user $env:OS_USERNAME" -AsSecureString
    • Vervang de regel die begint met 'read' door: $env:OS_PASSWORD = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBstr($OS_PASSWORD_INPUT))
    • Plaats de waarde van iedere variabele (met uitzondering van $null en 3) tussen aanhalingstekens " ", zie het voorbeeld hieronder.

    Let op: Gebruik geen spaties tenzij aangegeven in het voorbeeld hieronder.

    Het resultaat ziet er als volgt uit (let op de scrollbalk):

    $env:OS_AUTH_URL=https://auth.teamblue.cloud"
    $env:OS_PROJECT_ID="<jouw-project-id>"
    $env:OS_PROJECT_NAME="<jouw-project-naam>"
    $env:OS_USER_DOMAIN_NAME="transip"
    $env:OS_PROJECT_DOMAIN_ID="ac23823215e24239b1f693ed5a5ee2e6"
    $env:OS_TENANT_ID=$null
    $env:OS_TENANT_NAME=$null
    $env:OS_USERNAME="<jouw-gebruikersnaam>"
    $OS_PASSWORD_INPUT = Read-Host -Prompt "Please enter your OpenStack Password for project $env:OS_PROJECT_NAME as user $env:OS_USERNAME" -AsSecureString
    $env:OS_PASSWORD = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($OS_PASSWORD_INPUT))
    $env:OS_REGION_NAME="AMS2"
    $env:OS_INTERFACE="public"
    $env:OS_IDENTITY_API_VERSION=3

    Sla het bestand op maar dan met de extensie .ps1 (als PowerShell-script).


     

    Stap 3

    Download de nieuwste versie van Python door op de 'Download Python <versienummer>'-knop te klikken.

    Python download


     

    Stap 4

    Open het gedownloade bestand en klik op 'Customize Installation'. Hiermee kun je de optie aanvinken om al tijdens de installatie de omgevingsvariabelen correct in te stellen.

    python setup


     

    Stap 5

    Pas in de 'Optional Features'-stap niets aan en klik op 'Next'.

    python setup optional features


     

    Stap 6

    Vink in de 'Advanced Options'-stap de optie 'Add Python to environment variables' aan en klik vervolgens op 'Install'.

    python setup advanced options

    Wanneer de installatie van Python is afgerond zie je de bevestiging 'Setup was successful'. Klik optioneel eerst op 'Disable path length limit' (indien van toepassing), of direct op 'Close' om het scherm af te sluiten.

    python setup finished


     

    Stap 7

    Voor de installatie van de OpenStack CLI client is Microsoft Visual C++ 14.0 of nieuwer nodig. Download deze door op https://visualstudio.microsoft.com/visual-cpp-build-tools/ op 'Download Build Tools' te klikken.

    microsoft build tools download


     

    Stap 8

    Open het gedownloade bestand en klik op 'Continue' om de installatie te starten.

    visual studio installer


     

    Stap 9

    Selecteer 'Desktop development with C++' en druk op de 'Install'-knop rechtsonder om Desktop development with C++ te installeren. Dit proces zal even duren.

    visual studio installer workloads install

    Klik na de installatie op het kruis rechtsboven om het installatiescherm te sluiten.

    visual studio installer finished


     

    Stap 10

    Start PowerShell als administrator (Start > PowerShell > Rechter muisknop > Uitvoeren als administrator / Run as administrator).

    Windows start powershell runasadmin


     

    Stap 11

    Installeer de OpenStack CLI client met de commando's:

    python.exe -m pip install --upgrade pip
    pip install python-openstackclient

    Het eerste commando installeert eventuele updates van Pip. Het tweede installeert daadwerkelijk de OpenStack CLI client.


     

    Stap 12

    Herinner je je het bestand uit stap 2 nog? Dit heb je nodig om de OpenStack CLI client te configureren om jouw OpenStack-project te gebruiken.

    Navigeer naar de map waar je het bestand hebt opgeslagen, bijvoorbeeld:

    cd C:\Users\<gebruiker>\Downloads\

     

    Stap 13

    Het PowerShell-script uit stap 2 is unsigned. Start daarom een PowerShell-shell in de PowerShell-shell en voer daarna het script uit met de commando's:

    powershell.exe -ExecutionPolicy Unrestricted
    .\<gebruikersnaam>-open-stack-openrc.ps1

    Vervang hier <gebruikersnaam>-open-stack-openrc.ps1 door de bestandsnaam waaronder je het bestand in stap 2 hebt opgeslagen.

    Er wordt gevraagd om het wachtwoord waarmee je inlogt op de OpenStack Horizon-webinterface (zie onze 'OpenStack getting started'-handleiding voor hoe je het wachtwoord instelt). Let op: Er wordt geen bevestiging getoond als je het juiste wachtwoord gebruikt:

    Please enter your OpenStack Password for project testtransip-open-stack as user testtransip:

    That's it! Je kunt nu de werking van de OpenStack client direct testen met het commando:

    openstack server list

    Als je al één of meer instances hebt aangemaakt zal de output er ongeveer als volgt uitzien (let op de scrollbar):

    transip@Demo:~$ openstack server list
    +--------------------------------------+-------------+--------+-----------------------------------------------------------------------------------------+-------+--------------+
    | ID                                   | Name        | Status | Networks                                                                                | Image | Flavor       |
    +--------------------------------------+-------------+--------+-----------------------------------------------------------------------------------------+-------+--------------+
    | f506cf10-c53d-4d51-996d-9dc721472637 | Server 2022 | ACTIVE | TestNetwork=192.168.0.2; net-public=123.123.123.123; net-public-ipv6=2a02:348:5e6:1::6b60 |       | Standard 4GB |
    +--------------------------------------+-------------+--------+-----------------------------------------------------------------------------------------+-------+--------------+

    Daarmee zijn we aan het eind gekomen van deze handleiding over de installatie van de CLI-tools binnen OpenStack. Een volledig overzicht van beschikbare commando's vind je op https://docs.openstack.org/python-openstackclient/latest/cli/command-list.html#command-list.


    OpenStack CLI client installeren in macOS/Linux

     

    Stap 1

    Log in op de OpenStack Horizon-webinterface en klik rechtsboven op je gebruikersnaam > 'OpenStack RC File v3'. Een download voor <gebruikersnaam>-open-stack-openrc.sh wordt gestart. Sla het bestand op in een locatie waar je via command-line makkelijk bij kunt.

    Werk je vanuit Windows via WSL? Je kan het gedownloade bestand openen en de inhoud kopiëren (het is vrij klein). Plak deze vervolgens in een nieuw bestand, bijvoorbeeld openstack.sh, en gebruik die bestandsnaam in stap 3.

    OpenStack Horizon download rc file


     

    Stap 2

    Installeer de OpenStack CLI client via command-line met de commando's:

    CentOS Stream / AlmaLinux / Rocky Linux

    sudo dnf -y update
    sudo dnf -y install python3-openstackclient

    Ubuntu/Debian

    sudo apt -y update && sudo apt -y upgrade
    sudo apt -y install python3-openstackclient

    macOS

    Voor de installatie van de OpenStack CLI client is Python 3 vereist. Je kunt Python 3 vanaf deze website downloaden.

    pip3 install python-openstackclient

     

    Stap 3

    Herinner je je het bestand uit stap 1 nog? Dit heeft alle benodigdheden om de OpenStack CLI client te configureren om jouw OpenStack-project te gebruiken. Dit doe je met het commando:

    source <gebruikersnaam>-open-stack-openrc.sh
    • Vervang <gebruikersnaam> door de daadwerkelijke naam in het bestand uit stap 1.
    • Voer het commando uit in de directory waar het .sh-bestand is opgeslagen, of verwijs daarnaar, bijvoorbeeld:
    source /some/directory/<gebruikersnaam>-open-stack-openrc.sh

    Er wordt vervolgens gevraagd om het wachtwoord waarmee je inlogt op de OpenStack Horizon-webinterface (zie onze 'OpenStack getting started'-handleiding voor hoe je het wachtwoord instelt):

    Please enter your OpenStack Password for project testtransip-open-stack as user testtransip:

    Geef het wachtwoord op. Er wordt geen bevestiging getoond als je het juiste wachtwoord gebruikt.

    That's it! Je kunt nu de werking van de OpenStack client direct testen met het commando:

    openstack server list

    Als je al één of meer instances hebt aangemaakt zal de output er ongeveer als volgt uitzien (let op de scrollbar):

    transip@Demo:~$ openstack server list
    +--------------------------------------+-------------+--------+-----------------------------------------------------------------------------------------+-------+--------------+
    | ID                                   | Name        | Status | Networks                                                                                | Image | Flavor       |
    +--------------------------------------+-------------+--------+-----------------------------------------------------------------------------------------+-------+--------------+
    | f506cf10-c53d-4d51-996d-9dc721472637 | Server 2022 | ACTIVE | TestNetwork=192.168.0.2; net-public=123.123.123.123; net-public-ipv6=2a02:348:5e6:1::6b60 |       | Standard 4GB |
    +--------------------------------------+-------------+--------+-----------------------------------------------------------------------------------------+-------+--------------+

    Daarmee zijn we aan het eind gekomen van deze handleiding over de installatie van de CLI-tools binnen OpenStack. Een volledig overzicht van beschikbare commando's vind je op https://docs.openstack.org/python-openstackclient/latest/cli/command-list.html#command-list.



    clouds.yaml downloaden en gebruiken (Windows, macOS & Linux)

    Met OpenStack kun je naast de RC-file ook een clouds.yaml gebruiken. Dit is de standaardconfiguratie voor de OpenStack CLI en openstacksdk. In deze paragraaf download je het bestand en plaats je het op de juiste locatie per besturingssysteem.


     

    Stap 1

    Log in op de Horizon-webinterface > klik rechtsboven op je gebruikersnaam > 'OpenStack RC File v3' of ga naar 'API Access' > 'Download OpenStack clouds.yaml'. Sla het bestand op.


     

    Windows

    Stap 2

    Open PowerShell en maak (indien nodig) de OpenStack-configmap aan in jouw profiel:

    $configDir = Join-Path $env:APPDATA "openstack"
    New-Item -ItemType Directory -Path $configDir -Force | Out-Null

     

    Stap 3

    Verplaats het gedownloade bestand naar de juiste locatie en hernoem het naar clouds.yaml (pas het pad van je download aan):

    Move-Item "C:\Users\<gebruikersnaam>\Downloads\clouds.yaml" `
      -Destination (Join-Path $env:APPDATA "openstack\clouds.yaml") -Force

     

    Stap 4

    Beperk de ACL's zodat alleen jouw gebruiker lees-/schrijfrechten heeft (beveiliging):

    icacls "$env:APPDATA\openstack\clouds.yaml" /inheritance:r /grant:r "$env:USERNAME:(R,W)"
     
     

    macOS

    Stap 2

    Maak de OpenStack-configmap aan en verplaats clouds.yaml naar de standaardlocatie:

    mkdir -p ~/.config/openstack
    mv ~/Downloads/clouds.yaml ~/.config/openstack/clouds.yaml
    chmod 700 ~/.config/openstack
    chmod 600 ~/.config/openstack/clouds.yaml

    De rechten 600 zorgen ervoor dat alleen jouw gebruiker het bestand kan lezen/schrijven.


     
     

    Linux

    Stap 2

    Gebruik dezelfde paden en permissies als bij macOS:

    mkdir -p ~/.config/openstack
    mv ~/Downloads/clouds.yaml ~/.config/openstack/clouds.yaml
    chmod 700 ~/.config/openstack
    chmod 600 ~/.config/openstack/clouds.yaml

     
     

     

    Stap 5

    Test of de configuratie werkt met de cloudnaam uit je clouds.yaml (bijv. 'transip'):

    openstack --os-cloud transip server list

    Application Credentials gebruiken (aanbevolen)

    In plaats van je inlogwachtwoord kun je 'Application Credentials' gebruiken. Dit zijn sleutels met beperkte rechten en een eigen secret; veiliger en beter te roteren.


     

    Stap 1

    Maak in Horizon een nieuwe credential: 'Identity' > 'Application Credentials' > 'Create Application Credential' > geef een naam, kies (optioneel) een role en klik op 'Create'. Noteer de ID (of Name) en de Secret.


     

    Stap 2

    Pas je clouds.yaml aan om de credential te gebruiken met auth_type v3applicationcredential en zet de secret in een omgevingsvariabele i.p.v. in een bestand:

    clouds:
      transip:
        region_name: AMS2
        interface: public
        auth:
          auth_url: "https://auth.teamblue.cloud"
        auth_type: "v3applicationcredential"
        # Gebruik óf ID óf Name
        application_credential_id: "<app-cred-id>"
        # of:
        # application_credential_name: "<app-cred-name>"

    Windows (PowerShell): secret als omgevingvariabele

    $env:OS_APPLICATION_CREDENTIAL_SECRET = "<app-cred-secret>"
     
     

    macOS / Linux (bash/zsh): secret als omgevingsvariabele

    export OS_APPLICATION_CREDENTIAL_SECRET="<app-cred-secret>"
     
     

    Standaard cloud instellen & CLI-alias maken

     

    Om het werken met de CLI te versnellen, kun je een standaard cloud instellen of een alias gebruiken. In beide gevallen verwijs je naar de cloudnaam die je in clouds.yaml hebt gedefinieerd (bijv. transip).


    Optie A: Standaard cloud met OS_CLOUD (aanbevolen)

     

    Windows (PowerShell)

    Stap 1

    Stel de variabele voor de huidige sessie in:

    $env:OS_CLOUD = "transip"

     

    Stap 2

    Maak de instelling persistent via je PowerShell-profiel ($PROFILE):

    if (-not (Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force | Out-Null }
    Add-Content -Path $PROFILE -Value '$env:OS_CLOUD = "transip"'

    Sluit en heropen PowerShell om de wijziging te laden.

     
     

    macOS / Linux (bash/zsh)

    Stap 1

    Stel de variabele in voor je shell en maak deze persistent:

    echo 'export OS_CLOUD=transip' >> ~/.bashrc   # gebruik ~/.zshrc voor zsh
    source ~/.bashrc                               # of: source ~/.zshrc
     
     

    Optie B: Alias of functie

     

    Windows (PowerShell)

    Stap 1

    Voeg een functie toe aan je PowerShell-profiel die automatisch --os-cloud meegeeft:

    if (-not (Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force | Out-Null }
    Add-Content -Path $PROFILE -Value @'
    function os {
      param([Parameter(ValueFromRemainingArguments = $true)][string[]]$Args)
      openstack --os-cloud transip @Args
    }
    '@

    Sluit en heropen PowerShell. Gebruik vervolgens os in plaats van openstack:

    os server list
    os flavor list
     
     

    macOS / Linux (bash/zsh)

    Stap 1

    Maak een alias aan en maak deze persistent:

    echo 'alias os="openstack --os-cloud transip"' >> ~/.bashrc   # gebruik ~/.zshrc voor zsh
    source ~/.bashrc                                                # of: source ~/.zshrc

    Gebruik vervolgens:

    os server list
    os image list
     
     

    CLI-gebruik zonder steeds --os-cloud

     

    Na het instellen van OS_CLOUD of het aanmaken van een alias gebruik je de CLI zonder extra parameter:

    openstack server list          # met OS_CLOUD
    # of:
    os server list                 # met alias/functie

    Beveiliging: best practices

     

    • Beperk bestandsrechten: gebruik chmod 600 (macOS/Linux) en icacls (Windows) zoals hierboven.
    • Gebruik application credentials i.p.v. je accountwachtwoord; roteer de secret periodiek.
    • Commits: neem geen clouds.yaml of secrets op in versiebeheer; zet ze in .gitignore.
    • Secrets: plaats secrets niet in clouds.yaml. Gebruik omgevingsvariabelen of interactieve prompts.

     

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op