374.【openstack】命令行模式创建虚拟机
2022-07-22 本文已影响0人
七镜
一、创建一个实例类型(flavor)
命令:
openstack flavor create \
--id 'id_flavor_m1_nano' \
--vcpus 4 \
--ram $(( 1024 * 16 )) \
--disk 200 m1.nano
备注:$(( ))
是linux 里做数学计算的一种写法,也可以用 $[ ]
。
执行结果:
root@OpenStack:~# openstack flavor create --id 'id_flavor_m1_nano' --vcpus 4 --ram $(( 1024 * 16 )) --disk 200 m1.nano
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
+----------------------------+-------------------+
| Field | Value |
+----------------------------+-------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| description | None |
| disk | 200 |
| id | id_flavor_m1_nano |
| name | m1.nano |
| os-flavor-access:is_public | True |
| properties | |
| ram | 16384 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 4 |
+----------------------------+-------------------+
执行结果
二、生成访问 key
命令:
openstack keypair create --public-key ~/.ssh/id_rsa.pub key
执行结果:
root@OpenStack:~# openstack keypair create --public-key ~/.ssh/id_rsa.pub key
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
+-------------+-------------------------------------------------+
| Field | Value |
+-------------+-------------------------------------------------+
| created_at | None |
| fingerprint | 9d:b1:80:3d:cc:2a:7d:ad:54:97:a2:4a:28:89:c2:e5 |
| id | key |
| is_deleted | None |
| name | key |
| type | ssh |
| user_id | f0f29beca3b24ae59a5270d666c4f812 |
+-------------+-------------------------------------------------+
执行结果
备注:执行 openstack keypair list
可验证 key 是否创建成功。
三、启动实例
1. 查看可用的实例类型
root@OpenStack:~# openstack flavor list
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
+--------------------------------------+-----------+-------+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+-----------+-------+------+-----------+-------+-----------+
| id_flavor_m1_nano | m1.nano | 16384 | 200 | 0 | 4 | True |
+--------------------------------------+-----------+-------+------+-----------+-------+-----------+
2.查看可用的镜像
root@OpenStack:~# openstack image list
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
+--------------------------------------+--------------+--------+
| ID | Name | Status |
+--------------------------------------+--------------+--------+
| 27dcc741-3203-4b48-aca2-abe2bb551aa6 | centos7 | active |
| f8767732-0773-4371-b660-906be13f590a | centos8 | active |
| db204b30-5cec-4301-b6ba-f6d7e6cea263 | debian | active |
| a1175f50-9b3c-4bfb-aaad-b27e64ab28f4 | spatial_v1 | active |
| 00865766-a484-49d8-86d7-4917f4895b65 | ubuntu20.0.4 | active |
+--------------------------------------+--------------+--------+
3.查看可用的网络
root@OpenStack:~# openstack network list
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
+--------------------------------------+----------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+----------+--------------------------------------+
| 0698d3c2-b029-4b63-9d04-8905d2908f9c | external | 6604485c-25a5-4981-a5c2-d98358a0b62e |
| 1e0a8e56-b169-4562-8d6e-e5e846ae49fd | internal | 14463c1b-462f-4fd1-ae18-b204009150ce |
+--------------------------------------+----------+--------------------------------------+
4. 查看可用的安全组
root@OpenStack:~# openstack security group list
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
+--------------------------------------+---------+------------------------+----------------------------------+------+
| ID | Name | Description | Project | Tags |
+--------------------------------------+---------+------------------------+----------------------------------+------+
| 98429665-ffd0-47b2-b09a-5a82f398e7f9 | default | Default security group | f800648190e4429a8c30b0c194f22c32 | [] |
+--------------------------------------+---------+------------------------+----------------------------------+------+
5.创建实例
root@OpenStack:~# openstack server create --flavor m1.nano --image debian --nic net-id=1e0a8e56-b169-4562-8d6e-e5e846ae49fd --key-name key instance_create_by_cli2
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
+-------------------------------------+-----------------------------------------------+
| Field | Value |
+-------------------------------------+-----------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-SRV-ATTR:host | None |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| OS-EXT-SRV-ATTR:instance_name | |
| 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 | Vzjk2ak6Wq7s |
| config_drive | |
| created | 2022-07-21T01:12:29Z |
| flavor | m1.nano (id_flavor_m1_nano) |
| hostId | |
| id | 9d27c29d-41e7-44aa-b9a7-dffee7e5598f |
| image | debian (db204b30-5cec-4301-b6ba-f6d7e6cea263) |
| key_name | key |
| name | instance_create_by_cli2 |
| progress | 0 |
| project_id | f800648190e4429a8c30b0c194f22c32 |
| properties | |
| security_groups | name='default' |
| status | BUILD |
| updated | 2022-07-21T01:12:29Z |
| user_id | f0f29beca3b24ae59a5270d666c4f812 |
| volumes_attached | |
+-------------------------------------+-----------------------------------------------+
6.检查结果
root@OpenStack:~# openstack server list
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
+--------------------------------------+-------------------------+--------+--------------------------------------+---------+-----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------------------+--------+--------------------------------------+---------+-----------+
| 9d27c29d-41e7-44aa-b9a7-dffee7e5598f | instance_create_by_cli2 | ACTIVE | internal=10.10.18.183 | debian | m1.nano |
| 5d9a84a5-7c00-4085-bd6f-86b7615f0803 | test | ACTIVE | internal=10.10.18.69 | debian | warehouse |
+--------------------------------------+-------------------------+--------+--------------------------------------+---------+-----------+
7.创建浮动IP(floating ip)
root@OpenStack:~# openstack floating ip create external
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
The option [tenant_id] has been deprecated. Please avoid using it.
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| created_at | 2022-07-21T01:16:45Z |
| description | |
| dns_domain | None |
| dns_name | None |
| fixed_ip_address | None |
| floating_ip_address | 192.168.3.212 |
| floating_network_id | 0698d3c2-b029-4b63-9d04-8905d2908f9c |
| id | 6eb1f91b-25cc-44ee-ad3b-a6bb97754851 |
| name | 192.168.3.212 |
| port_details | None |
| port_id | None |
| project_id | f800648190e4429a8c30b0c194f22c32 |
| qos_policy_id | None |
| revision_number | 0 |
| router_id | None |
| status | DOWN |
| subnet_id | None |
| tags | [] |
| tenant_id | f800648190e4429a8c30b0c194f22c32 |
| updated_at | 2022-07-21T01:16:45Z |
+---------------------+--------------------------------------+
8.绑定浮动IP
root@OpenStack:~# openstack server add floating ip instance_create_by_cli2 192.168.3.212
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
The option [tenant_id] has been deprecated. Please avoid using it.
The option [tenant_id] has been deprecated. Please avoid using it.
备注:执行 openstack server list
可以查看浮动IP是否绑定成功。
四、附加
openstack server create 命令:
openstack server create
--flavor <flavor>
(--image <image> | --image-property <key=value> | --volume <volume> | --snapshot <snapshot>)
[--boot-from-volume <volume-size>]
[--block-device-mapping <dev-name=mapping>]
[--block-device]
[--swap <swap>]
[--ephemeral <size=size[,format=format]
>]
[--network <network>]
[--port <port>]
[--nic <net-id=net-uuid,port-id=port-uuid,v4-fixed-ip=ip-addr,v6-fixed-ip=ip-addr,tag=tag,auto,none>]
[--password <password>]
[--security-group <security-group>]
[--key-name <key-name>]
[--property <key=value>]
[--file <dest-filename=source-filename>]
[--user-data <user-data>]
[--description <description>]
[--availability-zone <zone-name>]
[--host <host>]
[--hypervisor-hostname <hypervisor-hostname>]
[--hint <key=value>]
[--use-config-drive | --no-config-drive | --config-drive <config-drive-volume>|True]
[--min <count>]
[--max <count>]
[--tag <tag>]
[--hostname <hostname>]
[--wait]
[--trusted-image-cert <trusted-cert-id>]
<server-name>