Terraformによって作成されたクライアントの自動登録

Terraformによって作成された新しいクライアントはSUSE Managerに自動的に登録できます。 次の2つの登録方法があります。

  • cloud-initベースの登録

  • リモート実行プロビジョナーベースの登録

1. cloud-initベースのクライアントの登録

新しく作成された仮想マシンを自動的に登録するには、cloud-initを活用して登録することをお勧めします。 このソリューションでは、ホストへのSSH接続を設定する必要がありません。 また、クライアントの作成に使用するツールに関係なく使用することができます。

ユーザは、マシンをSUSE Managerに自動的に登録するために、Terraformを使用してイメージを展開するときにユーザデータのセットを渡すことができます。 user_dataはブートストラップ時にマシンを初めて起動したときのみ1回だけ実行されます。

cloud-initを使用してクライアントを登録する前にユーザは以下を設定する必要があります。

次のコマンドを実行すると、ブートストラップスクリプトがダウンロードされ、新しいマシン作成時にそのマシンが登録されます。 これをcloud-initの設定に追加する必要があります。

curl -s http://hub-server.tf.local/pub/bootstrap/bootstrap-default.sh | bash -s

user_dataが更新されてプロビジョニングが変更されると必ず、Terraformはそのマシンを破棄してから新しいIPなどを使用して再作成します。

AWSのcloud-initの詳細については、次のURLを参照してください。 . https://registry.terraform.io/providers/hashicorp/template/latest/docs/data-sources/cloudinit_config

cloud-initの例については、次のURLを参照してください。 . https://registry.terraform.io/providers/hashicorp/cloudinit/latest/docs/data-sources/cloudinit_config#example-usage

2. リモート実行プロビジョナーベースの登録

新しく作成した仮想マシンの自動登録の2番目のソリューションではTerraformのリモート実行プロビジョナーを使用します。

リモート実行プロビジョナーは新しく作成したマシンとやり取りします。 これは、SSH接続を開き、そのマシンでコマンドを実行できます。

リモート実行プロビジョナーを使用してクライアントを登録するとき、ユーザは、Terraformを実行しているマシンが、新しい仮想マシン作成後にそのマシンにアクセスできることを確認する必要があります。

その他の要件は、[cloud-initベースのクライアントの登録]と同じです

このコマンドを実行すると、ブートストラップスクリプトがダウンロードされ、新しいマシン作成時にそのマシンが登録されます。これは、実行するリモートコマンドとして定義する必要があります。

curl -s http://hub-server.tf.local/pub/bootstrap/bootstrap-default.sh | bash -s

リモート実行プロビジョナーの詳細については、https://www.terraform.io/docs/provisioners/remote-exec.htmlを参照してください。