]> Frank Brehm's Git Trees - pixelpark/create-terraform.git/commitdiff
Beginn Überarbeitung README.md
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 3 Jan 2020 14:41:08 +0000 (15:41 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 3 Jan 2020 14:41:08 +0000 (15:41 +0100)
README.md

index a3d3fc1a4c2d6cbae00f5bec1369da0d5cb61aa5..5df6179a013702234d55147cf992b135931a96d2 100644 (file)
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 Das verwendete Python-Script verwendet **Terraform** und **Python3** für die Provisionierung.
 
-Weiterhin empfehle ich auch grundsätzlich die Verwendung von _Python virtualenv_ zur Ausführung,
+Weiterhin empfehle ich auch dringend die Verwendung von _Python virtualenv_ zur Ausführung,
 da damit relativ einfach zusätzlich weiter Python-Module installiert und isoliert von anderen
 Benutzern und Prozessen ausgeführt werden können.
 
@@ -20,132 +20,181 @@ wird. Diese wird zwar nur für den aktuellen Nutzer lesbar angelegt und auch fü
 aber wenn andere Nutzer mit Root-Rechten auf der Kiste angemeldet sind, können sie diese trotzdem lesen.
 Das Gleiche trifft für die allgemeine Konfigurationsdatei zu, wenn man diese anlegt (siehe Punkt 1.4.).
 
-### 1.1. Betriebssystem-Pakete
+### 1.1. Auschecken des Repositories
 
-#### 1.1.1. Bei Debian-basierten Distributionen:
+Es werden drei Git-Repositories aus dem Pixelpark-Gitlab verwendet. Für die Anwender dieses
+Provisionierungstools ist erst einmal nur das Arbeits-Repository wichtig, welches man sich
+auf der eigenen Arbeitsstation klont. Die URL lautet:
+
+    git@git.pixelpark.com:ppadmin/terraform.git
+
+Grundsätzlich arbeiten wir immer in dem Workdir des Arbeits-Repositories. Die beiden anderen
+Repositories werden bei der Aktualisierung der Python-Virtuellen-Umgebung automatisch mit
+ausgecheckt (Siehe Punkt **1.4.**).
+
+**Hinweis:** Engedenk schlechter Erfahrungen weise ich darauf hin, auf einer Arbeitsstation
+zu arbeiten, mit der alle Netze erreicht werden können, da die Postinstall-Skripte per SCP
+auf die neu provisionierten Maschinen kopiert und dort per SSH ausgeführt werden.
+
+### 1.2. Betriebssystem-Pakete
+
+#### 1.2.1. Bei Debian-basierten Distributionen:
 
 also zum Beispiel _Debian_, _Ubuntu_ usw.
 
 * python3
 * python3-virtualenv
 
-#### 1.1.2. Bei RPM-basierten Distributionen:
+#### 1.2.2. Bei RPM-basierten Distributionen:
 
 also CentOS, Fedora, RHEL, OEL, SuSE usw.
 
 * python36
 * python-virtualenv (ist zwar für Python 2.7, dient aber als Wrapper für virtualenv mit Python 3.6)
 
-### 1.2. Installation Terraform
+### 1.3. Installation Terraform
 
 Leider gibt es keine Terraform-Pakete. Man ist daher darauf angewiesen,
 sich das Terrform-ZIP-Paket von folgender URL zu holen: https://www.terraform.io/downloads.html
 Dort das ZIP-File für Linux 64 Bit downloaden, entpacken, und die herauspurzelnde Datei
 ausführbar machen und irgendwo in den Pfad legen.
 
-### 1.3. Installion einer virtuellen Umgebung
+**Hinweis:** Da im Backend von Terraform die Versionsnummer von Terraform, mit dem der Plan
+aufgestellt wurde, hinterlassen wird, diese Backend geteilt ist (via Consul), und die Pläne nicht
+abwärtskompatibel sind, sollte Terraform immer auf dem aktuellen Stand gehalten werde,
+
+### 1.4. Installion einer virtuellen Umgebung
 
-Nach dem Auschecken dieses Repos sollte eine virtuelle Umgebung für Python3 eingerichtet werden.
+#### 1.4.1. Initiale Installation der virtuellen Umgebung
+
+Nach dem Auschecken dieses Repos muss eine virtuelle Umgebung für Python3 eingerichtet werden.
 
 Um die Arbeit zu vereinfachen, habe ich im Wurzelverzeichnis das Skript **update-env.sh**
 hingelegt, das alle notwendigen Schritte unternimmt, um die Arbeitsumgebung einzurichten
 bzw. zu aktualisieren. Das sind folgende Dinge:
 
 * Einrichten des Virtual Environments in `venv`, falls es noch nicht geschehen sein sollte,
-* Installieren und aktualisieren aller benötigten PIP-Module,
-* Aktualisieren des Git-Submodules unter **python_fb_tools**,
-* Kompilieren der i18n-Dateien (für die Herren, die des Englischen nicht ganz so mächtig sind).
+* Installieren und aktualisieren aller benötigten PIP-Module, einschließlich der
+  **python_fb_tools** (aus Gitlab heraus onstalliert),
+* Kompilieren der i18n-Dateien (für die Damen und Herren, die des Englischen nicht ganz so mächtig sind).
 
 Das sieht beim ersten Mal so aus:
 ```
-frank.brehm@ns1-local ~/Develop/provisioning (test) > ./update-env.sh
-Preparing virtual environment ...
+frank.brehm@ns1-local ~/Work/terraform (test) > ./update-env.sh
+ * Searching for valid Python …
 
-Found python3.6.
+ * Found 'python3.6'.
+ * Searching for valid virtualenv …
+ * Found 'virtualenv'.
 
-Running virtualenv with interpreter /usr/bin/python3.6
-Using base prefix '/usr'
-New python executable in /home/frank.brehm/Develop/provisioning/venv/bin/python3.6
-Also creating executable in /home/frank.brehm/Develop/provisioning/venv/bin/python
-Installing setuptools, pip, wheel...done.
 ---------------------------------------------------
-Installing and/or upgrading necessary modules ...
+ * Preparing virtual environment …
 
-Cache entry deserialization failed, entry ignored
-Collecting pip (from -r requirements.txt (line 1))
-  Using cached https://files.pythonhosted.org/packages/46/dc/7fd5df840efb3e56c8b4f768793a237ec4ee59891959d6a215d63f727023/pip-19.0.1-py2.py3-none-any.whl
-
-.
-.
-.
-
-Installing collected packages: pip, setuptools, pycparser, cffi, six, asn1crypto, cryptography, PyYAML, MarkupSafe, jinja2, pynacl, pyasn1, bcrypt, paramiko, ansible, pytz, babel, chardet, idna, certifi, urllib3, requests, pyvmomi, dnspython, pyflakes, pycodestyle, mccabe, entrypoints, flake8, websocket-client, docker-pycreds, docker-py, pathlib
-  Found existing installation: pip 9.0.1
-    Uninstalling pip-9.0.1:
-      Successfully uninstalled pip-9.0.1
-  Found existing installation: setuptools 28.8.0
-    Uninstalling setuptools-28.8.0:
-      Successfully uninstalled setuptools-28.8.0
-Successfully installed MarkupSafe-1.1.0 PyYAML-3.13 ansible-2.7.6 asn1crypto-0.24.0 babel-2.6.0 bcrypt-3.1.6 certifi-2018.11.29 cffi-1.11.5 chardet-3.0.4 cryptography-2.5 dnspython-1.16.0 docker-py-1.10.6 docker-pycreds-0.4.0 entrypoints-0.3 flake8-3.7.3 idna-2.8 jinja2-2.10 mccabe-0.6.1 paramiko-2.4.2 pathlib-1.0.1 pip-19.0.1 pyasn1-0.4.5 pycodestyle-2.5.0 pycparser-2.19 pyflakes-2.1.0 pynacl-1.3.0 pytz-2018.9 pyvmomi-6.7.1.2018.12 requests-2.21.0 setuptools-40.7.1 six-1.12.0 urllib3-1.24.1 websocket-client-0.54.0
 
+Running virtualenv with interpreter /usr/bin/python3.6
+Using base prefix '/usr'
+New python executable in /home/fbrehm/Work/terraform/venv/bin/python3.6
+Also creating executable in /home/fbrehm/Work/terraform/venv/bin/python
+Installing setuptools, pkg_resources, pip, wheel...done.
 ---------------------------------------------------
-Installed modules:
+ * Upgrading PIP …
 
-Package          Version
----------------- -------------
-ansible          2.7.6
-asn1crypto       0.24.0
-Babel            2.6.0
-.
-.
-.
-wheel            0.29.0
+Requirement already up-to-date: pip in ./venv/lib/python3.6/site-packages (19.3.1)
 
 ---------------------------------------------------
-Updating Git submodule python_fb_tools ...
-git init ...
-
+ * Upgrading setuptools + wheel + six …
 
---------------
-git update ...
+Requirement already up-to-date: setuptools in ./venv/lib/python3.6/site-packages (44.0.0)
+Requirement already up-to-date: wheel in ./venv/lib/python3.6/site-packages (0.33.6)
+Collecting six
+  Using cached https://files.pythonhosted.org/packages/65/26/32b8464df2a97e6dd1b656ed26b2c194606c16fe163c695a992b36c11cdf/six-1.13.0-py2.py3-none-any.whl
+Installing collected packages: six
+Successfully installed six-1.13.0
 
+---------------------------------------------------
+ * Installing and/or upgrading necessary modules …
+
+Collecting git+https://git.pixelpark.com/python/python_fb_tools.git@master (from -r requirements.txt (line 1))
+  Cloning https://git.pixelpark.com/python/python_fb_tools.git (to revision master) to /tmp/pip-req-build-e3j7xdeq
+  Running command git clone -q https://git.pixelpark.com/python/python_fb_tools.git /tmp/pip-req-build-e3j7xdeq
+Collecting git+ssh://****@git.pixelpark.com/ppadmin/create-terraform.git@master (from -r requirements.txt (line 2))
+  Cloning ssh://****@git.pixelpark.com/ppadmin/create-terraform.git (to revision master) to /tmp/pip-req-build-ae6iyodq
+  Running command git clone -q 'ssh://****@git.pixelpark.com/ppadmin/create-terraform.git' /tmp/pip-req-build-ae6iyodq
+Collecting requests
+  Using cached https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl
+Collecting Babel
+  Using cached https://files.pythonhosted.org/packages/15/a1/522dccd23e5d2e47aed4b6a16795b8213e3272c7506e625f2425ad025a19/Babel-2.8.0-py2.py3-none-any.whl
+Processing /home/fbrehm/.cache/pip/wheels/54/b7/c7/2ada654ee54483c9329871665aaf4a6056c3ce36f29cf66e67/PyYAML-5.2-cp36-cp36m-linux_x86_64.whl
+Processing /home/fbrehm/.cache/pip/wheels/79/04/32/49efab8d7c4728408253a358c51b7eeaed8778b9c529422715/pyvmomi-6.7.3-py2.py3-none-any.whl
+Requirement already up-to-date: six in ./venv/lib/python3.6/site-packages (from create-terraform==1.4.5->-r requirements.txt (line 2)) (1.13.0)
+Collecting pytz
+  Using cached https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl
+Collecting dnspython
+  Using cached https://files.pythonhosted.org/packages/ec/d3/3aa0e7213ef72b8585747aa0e271a9523e713813b9a20177ebe1e939deb0/dnspython-1.16.0-py2.py3-none-any.whl
+Collecting certifi>=2017.4.17
+  Using cached https://files.pythonhosted.org/packages/b9/63/df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99/certifi-2019.11.28-py2.py3-none-any.whl
+Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
+  Using cached https://files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl
+Collecting idna<2.9,>=2.5
+  Using cached https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl
+Collecting chardet<3.1.0,>=3.0.2
+  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
+Building wheels for collected packages: fb-tools, create-terraform
+  Building wheel for fb-tools (setup.py) ... done
+  Created wheel for fb-tools: filename=fb_tools-1.6.3-cp36-none-any.whl size=176047 sha256=f4ed06120c58121e97adce0a9965d2cb1cc8680a817577040397517c6c72673c
+  Stored in directory: /tmp/pip-ephem-wheel-cache-okkvs3lr/wheels/f8/76/fc/061af9e9c357147e9edcac185c3edb280f5366ddba4ce6ed5a
+  Building wheel for create-terraform (setup.py) ... done
+  Created wheel for create-terraform: filename=create_terraform-1.4.5-cp36-none-any.whl size=91977 sha256=1115a8cc682af20ce272191375b966fb88fd0a21bbe87551996393d4e7df17a0
+  Stored in directory: /tmp/pip-ephem-wheel-cache-okkvs3lr/wheels/d2/18/30/66c65b0882f4db9e8f159f049e7086a17e7a56bd3ea0c32cbb
+Successfully built fb-tools create-terraform
+Installing collected packages: certifi, urllib3, idna, chardet, requests, pytz, Babel, fb-tools, PyYAML, pyvmomi, dnspython, create-terraform
+Successfully installed Babel-2.8.0 PyYAML-5.2 certifi-2019.11.28 chardet-3.0.4 create-terraform-1.4.5 dnspython-1.16.0 fb-tools-1.6.3 idna-2.8 pytz-2019.3 pyvmomi-6.7.3 requests-2.22.0 urllib3-1.25.7
 
---------------
-Updating i18n files in /home/frank.brehm/Develop/provisioning ...
-
-340 of 340 messages (100%) translated in locale/de_DE/LC_MESSAGES/pp_provisioning.po
-compiling catalog locale/de_DE/LC_MESSAGES/pp_provisioning.po to locale/de_DE/LC_MESSAGES/pp_provisioning.mo
-12 of 340 messages (3%) translated in locale/en_US/LC_MESSAGES/pp_provisioning.po
-compiling catalog locale/en_US/LC_MESSAGES/pp_provisioning.po to locale/en_US/LC_MESSAGES/pp_provisioning.mo
-
---------------
-Updating i18n files in python_fb_tools ...
-
-253 of 253 messages (100%) translated in locale/de_DE/LC_MESSAGES/fb_tools.po
-compiling catalog locale/de_DE/LC_MESSAGES/fb_tools.po to locale/de_DE/LC_MESSAGES/fb_tools.mo
-4 of 253 messages (1%) translated in locale/en_US/LC_MESSAGES/fb_tools.po
-compiling catalog locale/en_US/LC_MESSAGES/fb_tools.po to locale/en_US/LC_MESSAGES/fb_tools.mo
+---------------------------------------------------
+ * Installed modules:
+
+Package          Version   
+---------------- ----------
+Babel            2.8.0     
+certifi          2019.11.28
+chardet          3.0.4     
+create-terraform 1.4.5     
+dnspython        1.16.0    
+fb-tools         1.6.3     
+idna             2.8       
+pip              19.3.1    
+pkg-resources    0.0.0     
+pytz             2019.3    
+pyvmomi          6.7.3     
+PyYAML           5.2       
+requests         2.22.0    
+setuptools       44.0.0    
+six              1.13.0    
+urllib3          1.25.7    
+wheel            0.33.6    
 
--------
-Fertig.
+---------------------------------------------------
+ * Fertig.
 
-frank.brehm@ns1-local ~/Develop/provisioning (test) >
+frank.brehm@ns1-local ~/Work/terraform (test) >
 
 ```
 
+#### 1.4.2. Update der virtuellen Umgebung
+
 Der nächste Schrit ist grundsätzlich vor jeder Arbeitssitzung zu machen, um die virtuelle
 Umgebung zu aktivieren:
 
 ```
-frank.brehm@ns1-local ~/Develop/provisioning (test) > . venv/bin/activate
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) >
+frank.brehm@ns1-local ~/Work/terraform (test) > . venv/bin/activate
+frank.brehm@ns1-local ~/Work/terraform (test) >
 ```
 
 Mindestens einmal nach der Einrichtung der virtuellen Umgebung, aber auch später regelmäßig sollte
 danach die Umgebung mittels **update-env.sh** aktualisiert werden:
 
 ```
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) > ./update-env.sh 
+frank.brehm@ns1-local ~/Work/terraform (test) > ./update-env.sh 
 Preparing virtual environment ...
 
 ---------------------------------------------------
@@ -155,53 +204,72 @@ Requirement already up-to-date: pip in ./venv/lib/python3.6/site-packages (from
 .
 .
 .
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) >
+frank.brehm@ns1-local ~/Work/terraform (test) >
 ```
 
-### 1.4. Grundlegende Installation
+#### 1.4.3. Aktivieren  virtuellen Umgebung
+
+Vor jeder Arbeit ist die virtualle Umgebung zu aktivieren:
+
+```
+frank@bruni ~/Develop/PP/terraform (master) > . venv/bin/activate
+(venv) frank@bruni ~/Develop/PP/terraform (master) >
+(venv) frank@bruni ~/Develop/PP/terraform (master) > which create-terraform 
+/home/frank/Develop/PP/terraform/venv/bin/create-terraform
+(venv) frank@bruni ~/Develop/PP/terraform (master) >
+```
 
-Nach dem Clonen befindet sich im Arbeitzsverzeichnis unter _etc_ die Datei _'create-terraform.ini.default'_, welches
-nicht die allgemeine Konfigurationsdatei ist, sondern nur ein Muster dafür. Zwar ist das Anlegen der allgemeinen
-Konfigurationsdatei _'create-terraform.ini'_ unter _etc_ nicht unbedingt erforderlich, da für fast alle Konfigurations-Parameter
-sinnvolle Vorgabewerte definiert wurden, aber es gibt exakt drei Ausnahmen dazu, nämlich:
+Wie oben ersichtlich, befindet sich Befehl **create-terraform** nach der Aktivierung im
+Pfad für ausführbare Dateien.
 
+### 1.5. Grundlegende Konfiguration
+
+Nach dem Clonen und dem Update der Virtuellen Umgebung befindet sich im Arbeitzsverzeichnis unter _venv/etc_
+die Datei _'create-terraform.ini.default'_, welches nicht die allgemeine Konfigurationsdatei ist,
+sondern nur ein Muster dafür.
+
+Die eigentliche Konfigurationsdatei ist _'venv/etc/create-terraform.ini'_, welche nicht in Git
+eingecheckt ist, da sich darin Passwörter und API-Keys befinden müssen.
+
+Um diese Konfigurationsdatei initial zu erstellen, ist es am einfachsten, die Datei _'venv/etc/create-terraform.ini.default'_
+nach _'venv/etc/create-terraform.ini'_ zu kopieren und dort alle fehlenden Werte manuell nachzutragen.
+
+```
+venv) frank@bruni ~/Develop/PP/terraform (master) > ll venv/etc/
+insgesamt 4
+-rw-r--r-- 1 frank users 3291 Jan  3 15:13 create-terraform.ini.default
+(venv) frank@bruni ~/Develop/PP/terraform (master) > 
+(venv) frank@bruni ~/Develop/PP/terraform (master) > 
+(venv) frank@bruni ~/Develop/PP/terraform (master) > cp -vi venv/etc/create-terraform.ini.default venv/etc/create-terraform.ini
+'venv/etc/create-terraform.ini.default' -> 'venv/etc/create-terraform.ini'
+(venv) frank@bruni ~/Develop/PP/terraform (master) >
+(venv) frank@bruni ~/Develop/PP/terraform (master) > chmod 0600 venv/etc/create-terraform.ini
+(venv) frank@bruni ~/Develop/PP/terraform (master) >
+(venv) frank@bruni ~/Develop/PP/terraform (master) > vi venv/etc/create-terraform.ini
+(venv) frank@bruni ~/Develop/PP/terraform (master) >
+```
+
+Für fast alle Konfigurations-Parameter sind bereits sinnvolle Vorgabewerte definiert worden (welches auch die
+auskommentierten Einträge in der _create-terraform.ini.default_ sind). Aber es gibt Ausnahmen:
+
+* die Passwörter der Nutzer der verschiedenen VSPhere-Umgebungen. Als Vorgabe-Nutzername ist
+  _'Administrator@vsphere.local'_ vorkonfiguriert. Wenn man diesen verwenden möchte, muss also
+  dessen Passwort bei allen VSPhere-Umgebungen eingetragen werden. Falls man aus Paranoia-Gründen
+  einen anderen Nutzer nehmen möchte, dann halt dessen Namen und Passwort in allen Umgebungen eintragen.
+  Aufpassen - nicht jeder hat alle Rechte in VSPhere, um VMs zu provisionieren.
 * das Passwort für den VSphere Nutzer (welcher übrigens per Default auf _'Administrator@vsphere.local'_ gesetzt ist),
 * den Key für die globale PowerDNS-API und
 * das root-Passwort für die installierten Kisten (wird derzeit nicht verwendet, ist aber für später vorgesehen).
 
-Wenn man die nachfolgend beschriebene Einrichung der _'etc/create-terraform.ini'_ nicht macht, wird man
-bei jeder Ausführung des Scripts nach dem Passwort des VSphere-Nutzers _'Administrator@vsphere.local'_
-und nach dem API-Key für PowerDNS gefragt. Da es _dringend empfohlen_ ist, sich mit einem personalisierten
-Account bei VSphere anzumelden (und die dauernden Fragen nach Passwort und Key natürlich nerven), hier
-kurz, wie man die _'etc/create-terraform.ini'_ einrichtet:
-
-```
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) > cp -vi etc/create-terraform.ini.default etc/create-terraform.ini
-„etc/create-terraform.ini.default“ -> „etc/create-terraform.ini“
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) >
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) > chmod 0600 etc/create-terraform.ini
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) >
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) > ls -lA etc/
-insgesamt 8
--rw------- 1 frank.brehm pixel 1475 22. Jun 10:36 create-terraform.ini
--rw-r--r-- 1 frank.brehm pixel 1354 21. Jun 17:51 create-terraform.ini.default
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) >
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) > vi etc/create-terraform.ini
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) >
-(venv) frank.brehm@ns1-local ~/Develop/provisioning (test) > cat etc/create-terraform.ini | egrep -v '^[     ]*(;|#|$)'
-[global]
-puppet_master = puppetmaster02.pixelpark.com
-[vSphere]
-user = frank.brehm
-password = <mein_oberschickes_Passwort>
-[PowerDNS]
-api_key = <API-Key>
-[Terraform]
-
-*Hinweis*: Den API-Key für die globale PowerDNS-Instanz findet man hier: https://intra.pixelpark.com/confluence/display/its/DNS+Server+-+Betriebsdokumentation+-+Maschinen+und+Software#DNSServer-Betriebsdokumentation-MaschinenundSoftware-Zugangsdaten - Service _'PowerDNS-API global'_.
-
-Die weiteren Angaben sind in der Datei _'etc/create-terraform.ini.default'_ beschrieben und brauchen nicht
-unbedingt überschrieben werden, ausser, man will zum Beispiel den Test-VSphere-Cluster nehmen.
+**Hinweise:**
+* Das Passwort des VSphere-Administrators findet man hier: https://intra.powerofone.de/confluence/x/IpKCAg, 
+  im Abschnitt Live Umgebung - vCenter Single Sign On-Dienst
+* Den API-Key für die globale PowerDNS-Instanz findet man hier: https://intra.powerofone.de/confluence/x/gIjrAQ
+  im Abschnitt '5. Zugangsdaten'.
+* Bitte immer eine Sicherheitskopie der fertigen Datei _'venv/etc/create-terraform.ini'_ irgendwo außerhalb
+  des Arbeitsverzeichnisses aufbewahren. Es kann passieren, dass man aus irgendwelchen Gründen die
+  virtuelle Umgebung komplett wegwerfen und neu erstellen muss. Bei der Gelegenheit wird auch die manuell
+  erstellte Date _'venv/etc/create-terraform.ini'_ weggeworfen - was doch schade wäre.
 
 ## 2. Arbeit mit Provisionierungs-Projekten