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

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

  • cloud-init based registration

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

1. cloud-init Based Client Registration

Registering by leveraging cloud-init is the preferred way of automatic registering of the newly created virtual machines. This solution avoids configuring an SSH connection to the host. It can also be used regardless of the tool used for client creation.

User can pass the set of user data when deploying the image with Terraform, to automatically register the machine to SUSE Multi-Linux Manager. user_data is run only once at bootstrap, and only the first time the machine is started.

Before using cloud-init to register clients, the user must configure:

The following command will download the bootstrap script and register the new machine when it is created. It should be added to the cloud-init configuration:

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

Any time user_data is updated to change the provisioning, Terraform will destroy and then recreate the machines with a new IP, etc.

2. remote-exec Provisioner Based Registration

The second solution for automatic registering of the newly created virtual machines uses Terraform’s remote-exec provisioner.

remote-exec provisioner interacts with the newly created machines. It opens an SSH connection and can run commands on that machine.

When using remote-exec provisioner to register clients, the user must ensure that the machine running Terraform will have access to the new virtual machine after its creation.

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

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

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

For more information about remote-exec provisioner, see https://www.terraform.io/docs/provisioners/remote-exec.html.