2016-08-29 4 views
6

私たちは、私たちのインフラストラクチャを管理する方法としてTerraformを検討しています。Terraformで局所的に実験する

現在のところ、企業のプロキシ/ファイアウォールでは、セキュリティの制限によりterraform applyが失敗する原因となっています。

これらのネットワークの問題が解決するのを待つ間に、AzureまたはAWSに接続する必要なくTerraformをローカルで試す方法はありますか?おそらくバーチャルボックス?

+0

AWSアカウントの作成にはほんの数分しかかかりません。問題が解決するまで待つ間に、無料の層に固執することができます。 –

答えて

6

Terraformは束のprovidersをサポートしていますが、その大部分はパブリッククラウドベースです。

ただし、ローカルのVMWare VSphereクラスタを設定し、VSphereプロバイダを使用してこれを操作することで、あなたを動かすことができます。 OpenStackクラスタを設定する場合は、OpenStackのプロバイダもあります。

また、HPE's Eucalyptusのようなものを使用して、AWSとのAPI互換性を提供することもできますが、これは前提です。

VMWareを実行しているデータセンターがない限り、これらのオプションはすべて非常にひどいので、セットアップを開始するのに多大な労力を要しますので、代わりにファイアウォールが開かれるのを待ってください。

残念ながら、Virtualboxプロバイダの最初の実装ではありませんが、これを試すことができますthird party Virtualbox provider

6

AWS/Azureにアクセスできる場合は、マシンを作成するだけです。そのようにすれば、それを使って作業したり、テラフォームを調査したり、 "部門"の制限なしに学ぶことができます。異なるプロバイダを使用して

は1つのプロバイダでのプロビジョニングがそのことについては、別の非常に異なっ、あるいは認証することができて素晴らしいアイデアではありません

3

一つの方法に(AWSプロバイダは、おそらく開始するのに最適な場所です) Terraformが優れていること(依存関係管理、データ駆動型設定、リソースライフサイクルなど)に慣れるには、ワークステーション上でnull_resource provisionerを使用することです。これは、Terraformを取得するためにワークステーションを十分に制御していることを前提としています(これは、セキュリティの高いニーズが多い場所では非常に困難です)。

Terraformのnull_resourceプロビジョナを使用するだけで、クラウドで使用するものののに慣れることができます。あなたのワークステーションにDockerをインストールする能力があれば、は本当にになります。これは、Dockerがワークステーション上でswarmモードをサポートしているためです。例えば

、あなたはライフサイクルを管理したい方法を確認の上、単純な例では

resource "null_resource" "docker_swarm" { 

    provisioner "local-exec" { 
     command = "docker swarm init" 
    } 

    provisioner "local-exec" { 
     command = <<EOF 
     docker swarm leave --force 

     # Careful here. This assumes you want a clean Docker slate, 
     # remove all Docker volumes from your machine. 
     docker volume rm -f $(docker volume ls -q) 
EOF 
     when = "destroy" 
    } 
} 

resource "null_resource" "start_stack" { 

    provisioner "local-exec" { 
     command = "docker stack deploy -c ./docker-stack.yml demostack" 
    } 

    provisioner "local-exec" { 
     command = "docker stack rm demostack" 
     when = "destroy" 
    } 

    depends_on = ["null_resource.docker_swarm"] 
} 

。クールな部分があります:AWS、AzureなどでサポートされているDocker Swarmを起動する方法はちょっと複雑ですが、もう少し時間がかかります。

Dockerをお持ちでない場合は、ワークステーションに作成されている可能性のある他の作成/破棄ライフサイクルを考えることができます。

幸運を祈る! IMHO Terraformは、私たちのキーボードを見かける最も深刻なものの1つです(Dockerもそこにランクされています)。

+0

非常に面白いです。ありがとう、ブライアン。 null_resourceをさらにプロビジョニングします。 –

0

アカウントをお持ちでない場合でも、無料のを1年間作成することができます(この無料アカウントでは、どのリソースを使用するかを考慮する必要があります)。

これにより、www.terraform.io/intro/getting-started/が利用可能になります。

実際の電話番号が必要です(AWSは電話で表示されたPINを入力するために「ロボット」を呼びます)。これには有効なクレジットカードが必要です(バーチャルマスターカード/ビザカード、$ 1)。

そこから、実際のプロバイダと無料で遊ぶのはいいですね。入門ガイドhttps://www.terraform.io/intro/getting-started/build.html

から

、我々はそれが無料になりますつまり、AWS無料の階層の下資格のリソースを使用することがあります。既にAWSアカウントをお持ちの場合は、いくらかの金額を請求される場合がありますが、最大でも数ドルを超えてはいけません。

関連する問題