Wenn ich versuche, Microsoft Azure-Ressourcen mit Terraform auf einem Windows-Computer zu erstellen, tritt eine Zeitüberschreitung für "Terraform-Plan" auf.
C:\path\to\terraform> terraform plan
Error: timeout while waiting for plugin to start
Es gab ein Problem. Error: Failed to instantiate provider "azurerm" to obtain schema: timeout while waiting for plugin to start
Tritt dies auf, wenn Sie ein TREND MICRO-Produkt (Virus Buster usw.) unter Windows verwenden? Und es gibt eine Ursache in Golang, und es ist keine Gegenmaßnahme auf der Terraform-Seite.
Es mag in Ordnung sein, wenn Sie Maßnahmen wie "Mac / Linux beschaffen" und "Virus Buster ausschalten" ergreifen können, aber in meinem Fall war dies nicht der Fall. Wir werden einen Linux-basierten Docker-Container auf einem Windows-Computer ausführen und dort Terraform ausführen.
your-folder-name/
├─ docker/
│ └─ Dockerfile
├─ terraform/
│ ├─ aaa.tf
│ ├─ bbb.tf
│ └ ...
└─ docker-compose.yml
Dockerfile
FROM alpine:3.7
ARG terraform_version="0.13.1"
# install terraform.
RUN wget https://releases.hashicorp.com/terraform/${terraform_version}/terraform_${terraform_version}_linux_amd64.zip && \
unzip ./terraform_${terraform_version}_linux_amd64.zip -d /usr/local/bin/
# set time-zone=JST
RUN apk --update add tzdata && \
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \
apk del tzdata && \
rm -rf /var/cache/apk/*
# create workspace.
COPY ./terraform /root/terraform
# move to workspace
WORKDIR /root/terraform
docker-compose.yml
version: "3"
services:
terraform:
container_name: "terraform"
image: local/terraform
build:
context: ./
dockerfile: docker/Dockerfile
volumes:
- ./terraform:/root/terraform
#Erstellen Sie ein Docker-Image. Nur das erste Mal ist OK.
> docker-compose build
#Container starten & anmelden
> docker-compose run --rm terraform
###Danach werden die Arbeiten im Docker-Container ausgeführt.
#Führen Sie Terraform aus
$ terraform init
$ terraform plan
$ ...
#Wenn Sie fertig sind. Beenden Sie den Docker-Container.
$ exit
Dies löste (vermied) es.
Recommended Posts