CLI Grundlagen 3: Wie kann ich einen vServer mit Kommandozeilenclient (CLI) in OpenStack anlegen


In diesem Tutorial zeigen wir Ihnen, wie Sie eine Cloud-Instanz mit Hilfe der Openstack Kommandozeilentools (CLI) anlegen.

Was Sie in diesem Artikel lernen:

  • Erstellen einer Openstack Instanz (vServer) mit dem Openstack CLI
  • Zuweisung einer Floating-IP zur neuen Instanz

 

Für dieses Tutorial benötigen Sie

 

Eine der häufigsten Aufgaben eines Admins ist das Anlegen von neuen Servern.  Das Openstack CLIermöglicht einen schnellen Zugang zu Ihrem VRZ und damit erleichtert die Erstellung und das Management von Ressourcen.  In diesem Artikel zeigen wir Ihnen, wie man einen neuen vServer mit einem Einzelbefehl anlegt.

 

Schritt für Schritt Anleitung: Anlegen eines vServers mit CLI

Schritt 1: Parameter

Um eine Instanz zu erstellen, müssen ein paar Informationen vorhanden sein:

  • Die Instanz Quelle kann ein Image, Snapshot, oder Block-Storage-Volume sein, was in sich ein Image oder Snapshot beinhaltet.
  • Ein Name für Ihren vServer.
  • Ein Flavor für Ihre Instanz. Damit ist festgelegt wie viel RAM, CPU-Kerne und Speicherplatz Ihr neuer Server zunächst hat. Ein Flavor ist eine verfügbare Hardware-Konfiguration für Ihre Instanz.
  • SSH-Schlüsselpaar für die Instanz, was bei der Einführung eines vServers ins Image angefügt werden muss, um eine Verbindung mit der Instanz zu ermöglichen.
  • Netzwerk – das Netzwerk muss angegeben, zumindest dann, wenn es mehr als eins in Ihrem VRZ gibt.

Optionale Parameter

  • Eine oder mehrere Sicherheitsgruppe, mit der man eingehender Netzwerkverkehr zu der Instanz und Firewall Policies definieren kann.
  • Eine Floating-IP Adresse. (Public IP-Adress) – dann erforderlich, wenn über das Internet auf die Instanz zugegriffen werden soll.
  • Block-Storage-Device als Dauerspeicher.

 

Schritt 2: Parameter beim Launchen einer Instanz

Notieren Sie bitte die ID Felder oder den Namen, die Sie für Ihrer Instanz ausgesucht haben

Eine Liste der verfügbare Flavors

hkn@controller-node:~$ openstack flavor list
+-----+-------------+------+------+-----------+-------+---------+
| ID  | Name        |  RAM | Disk | Ephemeral | VCPUs |Is_Public|
+-----+-------------+------+------+-----------+-------+---------+
| 1   |A1.nano-5    |  512 |    1 |         0 |     1 | True    |
| 2   |A1.2small-10 | 2048 |   20 |         0 |     1 | True    |
| 3   |A1.medium-10 | 4096 |   40 |         0 |     2 | True    |
| 4   |S1.large-50  | 8192 |   80 |         0 |     4 | True    |
| 5   |S1.Xlarge-50 |16384 |  160 |         0 |     8 | True    |
+-----+-------------+------+------+-----------+-------+---------+

Eine Liste der verfügbare Images

hkn@controller-node:~$ openstack image list
+--------------------------------------+------------------------+
| ID                                   | Name          | Status | 
+--------------------------------------+---------------+--------+
| 397e713c-b95b-4186 | ubuntu-22.04                    | active |
| df430cc2-3406-4061 | OPENCLOUD-ubuntu-20.04-nextcloud| active |
| 3cf852bd-2332-48f4 | debian-11                       | active |
| 3cw8f2bd-2782-4gf5 | centos-8                        | active |
+--------------------------------------+---------------+--------+

Eine Liste der verfügare Security-Groups

hkn@controller-node:~$ openstack security group list
+---------------------------------+------------------------+-----+
| ID                 | Name       |Description| Projekt    | Tags|    
+---------------------------------+-----------+------------+-----+
| 397e713c-b95b-4186 | default    |default    |35dd3f4ab5d1| [ ] |  
| df430cc2-3406-4061 | all-in     |all-in     |0468f5411292| [ ] |
| 3cw8f2bd-2782-4gf5 | hkn-service|hkn-service|5411292fccgt| [ ] |   
+------------------------------------------+-----------+---------+

Eine Liste der verfügbare Schlüsselpaare

hkn@controller-node:~$ openstack keypair list
+----------+---------------------------------------+
| Name     | Fingerprint                    | Type |
+----------+---------------------------------------+
| hkn_key  | f1:95:b7:7f:956:4e:a7:f8:f7:06 | ssh  |
| mykey    | e0:88:ed:1b:22:25::20:85:46:1b | ssh  |
+----------+---------------------------------------+

Eine Liste der Openstack Netzwerke

hkn@controller-node:~$ openstack network list
+----------+---------------------------------------+
| ID       | Name           |       Subnets        |
+---------------------------+----------------------+
| hkn_key  | ext_hkn        | d1d3-4ft2-b1g0-f5c87 |
| mykey    | my_projekt     | 93d5f-85b2d-3ksf-5dd |
+----------+----------------+----------------------+

Eine Liste der Openstack Subnetze (Falls vorhanden)

hkn@controller-node:~$ openstack subnet list
+----------+---------------------------------+-------------+
| ID       | Name           |     Network    | Subnet      | 
+---------------------------+----------------+-------------+
| 397e713  | my_projekt     | 93d5f-85b-3ksf |10.40.37.0/24|
+----------+----------------+----------------+-------------+

 

Schritt 3: Launchen einer Instanz

openstack server create --flavor <Flavor_ID> 
--image <Image_Name>  --network <Nezwerk_ID> 
--key-name <Key_Name> 
--security-group <Group_Name> <Name_der_Instanz>

Anlegen eines vServers anhand eines praktischen Beispiels

hkn@controller-node:~$ openstack server create --flavor A1-2small-
10  --image ubuntu-22.04  --network a619e1ca-1392-42dc-b677-
b87cb796787f --key-name nc24-pub --security-group all-in vm01
+-----------------------------+-----------------------------------+
| Field                       | Value                             |              
+-----------------------------+-----------------------------------+
| OS-DCF:diskConfig           | MANUAL                            |                
| OS-EXT-AZ:availability_zone |                                   |                  
| OS-EXT-STS:power_state      | NOSTATE                           |                  
| OS-EXT-STS:task_state       | scheduling                        |                  
| OS-EXT-STS:vm_state         | building                          |                  
| OS-SRV-USG:launched_at      | None                              |                  
| OS-SRV-USG:terminated_at    | None                              |                  
| accessIPv4                  |                                   |                  
| accessIPv6                  |                                   |                  
| addresses                   |                                   |                  
| adminPass                   | Jwi8XFUPSTX3                      |                  
| config_drive                |                                   |                  
| created                     | 2022-07-05T14:26:11Z              |                  
| flavor                      | A1-2small-10 (97d9cd0-d4dedfea87b)| 
| hostId                      |                                   |                  
| id                          | e7f23453-8306-4e93-a225           |       
| image                       | ubuntu-22.04 (9cb7-4f139f57a450)  |
| key_name                    | nc24-pub                          |                  
| name                        | vm01                              |                  
| progress                    | 0                                 |                  
| project_id                  | 35dd3f4ab5d140468f5411292fcc9552  |                  
| properties                  |                                   |                  
| security_groups             | name='a36fffaf-f94ead004b35'      |   
| status                      | BUILD                             |                  
| updated                     | 2022-07-05T14:26:12Z              |                  
| user_id                     | d442d05f374a44278eb525a0bfaaca6f  |                  
| volumes_attached            |                                   |                  
+-----------------------------+-----------------------------------+

Eine Liste der Laufende vServers in Ihrem Projekt

hkn@controller-node:~$ openstack server list
+----------+-----------+------+----------+---------+-------------+
| ID       | Name      |Status| Network  |  Image  |   Flavor    |
+-----------------------------+----------+---------+-------------+
| 397e713  | vm01      |ACTIVE|my_network|ubuntu-22|A1.2small-10 |
+----------+-----------+------+----------+---------+-------------+

 

Schritt 4: Zuweisung einer Floating IP (optional)

Wenn Sie sich über das Internet per SSH mit Ihrem vServer verbinden möchten, ist es notwendig der Instanz eine Floating-IP zuzuweisen

Notieren Sie sich die Floating IP, welche Sie für Ihren vServer ausgesucht haben

openstack floating ip list

Die Floating-IP Ihrer Instanz zuweisen

openstack server add floating ip <Instanz_Name><Floating_IP>

Falls Sie noch keine Public-IP (Floating-IP) haben, führen Sie den folgenden Befehl aus um eine zu erstellen

Eine Liste der externe Netzwerke

openstack network list --external

Das externe Netzwerk mit dem flgendem Befehl verwenden

openstack floating ip create <External_Network>

Wie Sie sich per SSH mit Ihrem vServer verbinden können, finden Sie in folgendem Link heraus.