Verwenden Sie das IONOS Docker InfraKit Instance Plugin.

Dies is ein Docker InfraKit Instanz-Plugin zur Erstellung und Verwaltung von IONOS Cloud-Servern.

Das Plugin wird stetig weiterentwickelt. Dabei wird versucht, auch die Entwicklungen bei Infrakit selbst zu berücksichtigen.

Verwendung

Verwenden Sie das mitgelieferte Konfigurationsbeispiel  example1and1.json als Referenz. Zögern Sie nicht, die Werte der Properties zu ändern.

$ cat << EOF > 1and1.json
{
    "ID": "myGroup",
    "Properties": {
        "Allocation": {
            "Size": 2
        },
        "Instance": {
            "Plugin": "instance-1and1",
            "Properties": {
                "Appliance": "centos7-64std",
                "Datacenter": "GB",
                "FixedServerSize": "L",
                "Password": "",
                "SSHKey": "",
                "SSHKeyPath": "/home/nb/.ssh/id_rsa.pub",
                "FirewallID": "",
                "LoadBalancerID": "",
                "MonitorPolicyID": ""
            }
        },
        "Flavor": {
            "Plugin": "flavor-vanilla",
            "Properties": {
                "Tags": {
                    "project": "test"
                }
            }
        }
    }
}
EOF

Übertragen Sie die Konfiguration, indem Sie den Befehl InfraKit ausführen:

$ build/infrakit group commit 1and1.json
Committed myGroup: Managing 2 instances

Gruppen verwalten

Sie können den InfraKit-Befehlssatz verwenden, um die zu überwachenden Gruppen zu verwalten.

$ build/infrakit group --help
Access group plugin

Usage:
  build/infrakit group [command]

Available Commands:
  commit      commit a group configuration
  describe    describe the live instances that make up a group
  destroy     destroy a group
  free        free a group from active monitoring, nondestructive
  inspect     return the raw configuration associated with a group
  ls          list groups

Flags:
      --name string   Name of plugin (default "group")

Global Flags:
      --log int   Logging level. 0 is least verbose. Max is 5 (default 4)

Use "build/infrakit group [command] --help" for more information about a command.

Der Befehl group describe zeigt Informationen über die Instanzen in tabellarischer Form an.

$ build/infrakit group describe myGroup 
ID                              LOGICAL                         TAGS
instance-3596758581874575275    77.68.13.219                    infrakit.config_sha=Cf4KpiVHyBBRTVR9XqOubrKB6kU=,infrakit.group=myGroup,project=test,serverID=FD7697A0FCE6E92DA9066BF8A53B1B12
instance-4696994370972658643    77.68.15.106                    infrakit.config_sha=Cf4KpiVHyBBRTVR9XqOubrKB6kU=,infrakit.group=myGroup,project=test,serverID=0ACC0C790843C1213F8B528A5985710C

Wenn Sie die Anzahl der Instanzen in der Gruppe erhöhen oder verringern möchten, ändern Sie die Eigenschaft allocation Size und übertragen Sie die geänderte Konfiguration.

$ build/infrakit group commit 1and1.json 
Committed myGroup: Adding 1 instances to increase the group size to 3
$ build/infrakit group commit 1and1.json 
Committed myGroup: Terminating 2 instances to reduce the group size to 1

Führen Sie den Befehl destroy aus, um eine Gruppenüberwachung zu beenden und alle Instanzen, d.h. Server in der Gruppe, zu löschen.

$ build/infrakit group destroy myGroup
destroy myGroup initiated

Konfigurationsparameter

  • Appliance - IONOS Server Appliance ID oder Name
  • Datacenter - IONOS Rechenzentrums-ID oder Ländercode
  • FixedServerSize - IONOS fixed-instance Größe, die für den Server angegeben wurde
  • Password - Passwort für den Server
  • SSHKey - öffentlicher SSH-Schlüssel
  • SSHKeyPath - Pfad zum öffentlichen SSH-Schlüssel
  • FirewallID - IONOS Firewall-Richtlinien-ID
  • LoadBalancerID - IONOS Load Balancer ID
  • MonitorPolicyID - IONOS Überwachungsrichtlinien-ID

Die erforderlichen Parameter sind Appliance und FixedServerSize

Design-Hinweise

Das Plugin speichert die notwendigen Informationen über die Instanzen am angegebenen Ort (--dir). Sie können die Gruppenüberwachung starten bzw. stoppen, ohne den Server jedes malneu bereit zu stellen.

Die Dateinamen der Instanz bestehen aus dem Namen (Server) und der Erweiterung.1and1.spec. Der numerische Teil des Namens (gleichzeitig der Name des Servers) wird zufällig gebildet, um Namenskonflikte beim automatischen Skalierung der Gruppe zu vermeiden.

Für folgende Properties der Instanz werden Standardwerte bereitgestellt: 

  • Appliance => ubuntu1404-64std
  • Datacenter => US
  • FixedServerSize => M

Für Appliance und FixedServerSize kann eine ID oder ein Name angegeben werden, für Datacenter eine Id oder ein Ländercode.

Wird ein Wert für SSH_Key angegeben, wird der Wert von SSH_KeyPath ignoriert.