Ontwerpen die Terraform-configuraties bevatten, vereisen toegang tot een Terraform-runtimeomgeving die u integreert met het vRealize Automation Cloud Assembly-product op locatie.

De runtimeomgeving bestaat uit een Kubernetes-cluster dat Terraform CLI-opdrachten uitvoert om aangevraagde bewerkingen uit te voeren. Daarnaast verzamelt de runtime logboeken en worden de resultaten van Terraform CLI-opdrachten geretourneerd.

Het vRealize Automation-product op locatie vereist dat gebruikers hun eigen Kubernetes-cluster van de Terraform-runtime configureren. Er wordt slechts één Terraform-runtime per organisatie ondersteund. Alle Terraform-implementaties voor die organisatie gebruiken dezelfde runtime.

  1. Controleer of u over een Kubernetes-cluster beschikt waarop de Terraform CLI moet worden uitgevoerd.
    • Alle licenties staan toe dat een Kubernetes-cluster wordt beheerd door vRealize Automation.

      Ga in vRealize Automation Cloud Assembly naar Infrastructuur > Resources > Kubernetes en controleer of u een Kubernetes-cluster hebt. Raadpleeg Hoe werk ik met Kubernetes in vRealize Automation Cloud Assembly? als u er een moet toevoegen.

    • Gebruikers met Enterprise-licenties hebben de optie om een kubeconfig-bestand op te geven om de Terraform CLI op een extern Kubernetes-cluster uit te voeren.
  2. Als het Kubernetes-cluster nieuw is toegevoegd of gewijzigd, wacht u tot het verzamelen van gegevens is voltooid.

    Gegevensverzameling haalt de lijst met naamruimten en andere informatie op en kan tot 5 minuten duren, afhankelijk van de provider.

  3. Nadat de gegevensverzameling is voltooid, gaat u naar Infrastructuur > Integraties > Integratie toevoegen en selecteert u de kaart Terraform-runtime.
  4. Voer de instellingen in.
    Figuur 1. Voorbeeld van Terraform-runtime-integratie
    Voorbeeld van Terraform-runtime-integratie voor gebruikers met een Advanced-licentie
    Instelling Beschrijving
    Naam Geef de runtime-integratie een unieke naam.
    Beschrijving Leg uit waar de integratie voor is.
    Terraform-runtime-integratie:
    Runtimetype (alleen Enterprise) Gebruikers met een Enterprise-licentie kunnen aangeven of de Terraform CLI moet worden uitgevoerd op een Kubernetes-cluster dat wordt beheerd door vRealize Automation of een externe versie.
    Kubernetes-cluster (alle licenties)

    Voor Kubernetes, beheerd door vRealize Automation, selecteert u het cluster waarin u de Terraform CLI moet worden uitgevoerd.

    Het cluster en het kubeconfig-bestand moeten bereikbaar zijn. U kunt toegang tot kubeconfig valideren met een GET op /cmx/api/resources/k8s/clusters/{clusterId}/kube-config.

    Deze optie is beschikbaar voor alle licenties.

    Kubernetes kubeconfig (alleen Enterprise)

    Voor externe Kubernetes plakt u de volledige inhoud van het kubeconfig-bestand voor het externe cluster.

    Deze optie is alleen beschikbaar voor Enterprise-licenties.

    Kubernetes-naamruimte Selecteer de naamruimte die u in het cluster wilt gebruiken, voor het maken van pods die de Terraform CLI uitvoert.
    Instellingen voor runtimecontainer:
    Image Voer het pad in naar de containerimage van de Terraform-versie die u wilt uitvoeren.
    Opmerking: De knop VALIDEREN controleert niet op containerimage.
    CPU-aanvraag Voer de hoeveelheid CPU in voor het uitvoeren van containers. Standaard is 250 millicores.
    CPU-limiet Voer het maximum aantal toegestane CPU's in voor het uitvoeren van containers. Standaard is 250 millicores.
    Geheugenaanvraag Voer de hoeveelheid geheugen in voor het uitvoeren van containers. Standaardwaarde is 512 MB.
    Geheugenlimiet Voer het maximaal toegestane geheugen in voor het uitvoeren van containers. Standaardwaarde is 512 MB.
  5. Klik op VALIDEREN en pas de instellingen indien nodig aan.
  6. Klik op TOEVOEGEN.

Instellingen worden in de cache opgeslagen. Nadat u de integratie hebt toegevoegd, kunt u instellingen zoals het cluster of de naamruimte wijzigen, maar het kan tot 5 minuten duren voordat een wijziging wordt gedetecteerd en de Terraform CLI wordt uitgevoerd met de nieuwe instellingen.

Problemen met de Terraform-runtime-integratie oplossen

Sommige problemen met de implementatie van de Terraform-configuratie zijn mogelijk gerelateerd aan de runtime-integratie.

Probleem Oorzaak Oplossing
Validatie mislukt met een fout met de mededeling dat de naamruimte ongeldig is. U heeft het cluster gewijzigd, maar hebt de vorige naamruimte in de gebruikersinterface verlaten. Selecteer een naamruimte altijd opnieuw nadat u de clusterselectie hebt gewijzigd.
De vervolgkeuzelijst Naamruimte is leeg of vermeldt geen nieuwe toegevoegde naamruimten. Gegevensverzameling voor het cluster is niet voltooid. Het verzamelen van gegevens neemt 5 minuten in beslag na het invoeren of wijzigen van het cluster en tot 10 minuten bij het invoeren of wijzigen van de naamruimte. Voor een nieuw cluster met bestaande naamruimten moet u maximaal 5 minuten wachten tot het verzamelen van gegevens is voltooid.

Voor een nieuwe naamruimte in een bestaand cluster moet u maximaal 10 minuten wachten tot het verzamelen van gegevens is voltooid.

Als het probleem zich blijft voordoen, verwijdert u het cluster en voegt u het opnieuw toe onder Infrastructuur > Resources > Kubernetes.

Terraform CLI-containers worden gemaakt in een vorig cluster, vorige naamruimte of met eerdere runtime-instellingen, zelfs nadat het integratieaccount is bijgewerkt. De Kubernetes API-client die door vRealize Automation wordt gebruikt, wordt gedurende 5 minuten in de cache opgeslagen. Het kan tot 5 minuten duren voordat wijzigingen van kracht worden.
Validatie of een Terraform-implementatiebewerking mislukt met een foutmelding dat kubeconfig niet beschikbaar is. Soms treden deze fouten op omdat het cluster niet bereikbaar is vanaf vRealize Automation.

In andere gevallen zijn gebruikersreferenties, tokens of certificaten ongeldig.

De kubeconfiguratiefout kan een aantal redenen hebben en vereist mogelijk dat u contact opneemt technische ondersteuning om het probleem op te lossen.