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


Herzlich willkommen zu diesem Tutorial für die OpenCloud Rechenzentren. 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 Openstack-Projekt 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 Projekt 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.