Import
This commit is contained in:
commit
006bd84f60
4 changed files with 154 additions and 0 deletions
92
README.md
Normal file
92
README.md
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# Installation von VMs bei Hetzner
|
||||
|
||||
## Hetzner Zugang
|
||||
|
||||
Die Hetzner-Cloud ist in Projekte unterteilt. Jedes Projekt kann von einen oder
|
||||
mehrere API-Token haben. Diese API-Token bekommen entweder nur lesenden
|
||||
oder lesenden und schreibenden Zugriff auf das betreffende Projekt.
|
||||
|
||||
Mit dem API-Token ist eine Automatisierung wie Opentofu in der Lage, die APIs
|
||||
aufzurufen und sich zu identifizieren.
|
||||
|
||||
Damit solche Token nicht Bestandteil der Automatisierungsdateien sind und vor
|
||||
allem nicht in Git-Repositories mit eingecheckt werden, lassen sich diese
|
||||
separate Dateien mit Variablen verwenden, die die Tofu-Automatisierungen
|
||||
einlesen können.
|
||||
|
||||
Diese Anleitung benötigt eine Datei `secrets.tfvars`, die bei den Aufrufen
|
||||
mit angegeben wird. Die Datei hat folgenden Inhalt:
|
||||
```
|
||||
hcloud_token="SuperSecretToken"
|
||||
```
|
||||
|
||||
## Initalisierung
|
||||
|
||||
Dies lädt den notwendigen Hetzner-Provider herunter, wenn er noch nicht existiert
|
||||
|
||||
```
|
||||
tofu init
|
||||
```
|
||||
|
||||
Die Ausgaben sehen für dieses Projekt wie folgt aus:
|
||||
|
||||
```
|
||||
$ tofu init
|
||||
|
||||
Initializing the backend...
|
||||
|
||||
Initializing provider plugins...
|
||||
- Finding hetznercloud/hcloud versions matching "~> 1.60.1"...
|
||||
- Installing hetznercloud/hcloud v1.60.1...
|
||||
- Installed hetznercloud/hcloud v1.60.1 (signed, key ID 5219EACB3A77198B)
|
||||
|
||||
Providers are signed by their developers.
|
||||
If you'd like to know more about provider signing, you can read about it here:
|
||||
https://opentofu.org/docs/cli/plugins/signing/
|
||||
|
||||
OpenTofu has created a lock file .terraform.lock.hcl to record the provider
|
||||
selections it made above. Include this file in your version control repository
|
||||
so that OpenTofu can guarantee to make the same selections by default when
|
||||
you run "tofu init" in the future.
|
||||
|
||||
OpenTofu has been successfully initialized!
|
||||
|
||||
You may now begin working with OpenTofu. Try running "tofu plan" to see
|
||||
any changes that are required for your infrastructure. All OpenTofu commands
|
||||
should now work.
|
||||
|
||||
If you ever set or change modules or backend configuration for OpenTofu,
|
||||
rerun this command to reinitialize your working directory. If you forget, other
|
||||
commands will detect it and remind you to do so if necessary.
|
||||
```
|
||||
|
||||
## Planung
|
||||
|
||||
In der Planung kann man sich anzeigen lassen, was tofu bei der Anwendung der
|
||||
Konfiguration ändern würde.
|
||||
|
||||
Solange die VM noch nicht existiert, wird also angezeigt, dass alles neu erstellt werden muss.
|
||||
|
||||
```
|
||||
tofu plan -var-file="secret.tfvars"
|
||||
```
|
||||
|
||||
## Ausführung
|
||||
|
||||
Wenn man alles kontrolliert hat und die Änderungen so angewendet werden sollen,
|
||||
wird der Plan angewendet.
|
||||
|
||||
```
|
||||
tofu apply -var-file="secret.tfvars"
|
||||
```
|
||||
|
||||
## Funktionstest
|
||||
|
||||
Am Ende der Ausführung zeigt tofu die IP-Adresse an, die die VM erhalten hat.
|
||||
Mit einer ssh-Verbindung kann geprüft werden, ob alles funktioniert hat.
|
||||
|
||||
```
|
||||
ssh -l root <die-ausgegebene-ip>
|
||||
```
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue