命令行创建openstack云主机

目录

1 创建项目project

2 创建用户user 

3 分配角色

4 创建规格flavor

5 创建镜像image

6 创建公网network

6.1 创建网络

6.2 创建子网

7 创建私网network

7.1 创建网络

7.2 创建子网

8 创建路由router

8.1 创建路由网关router

8.2 创建接口router

9 创建安全组security

9.1 添加入方向ssh安全策略

9.2 添加入方向ICMP安全策略

10 创建密钥对keypair

11 发放云主机

12 创建分配EIP

12.1 绑定EIP

13 测试

14 通过密钥对登入

15 创建云硬盘volume

15.1 挂载硬盘


1 创建项目project

haha:项目名称

[root@controller ~]# source keystonerc_admin

[root@controller ~(admin)]# openstack project create haha

+-------------+----------------------------------+

| Field       | Value                            |

+-------------+----------------------------------+

| description |                                  |

| domain_id   | default                          |

| enabled     | True                             |

| id          | f3344b52a58648a59aee080187f02a14 |

| is_domain   | False                            |

| name        | haha                             |

| options     | {}                               |

| parent_id   | default                          |

| tags        | []                               |

+-------------+----------------------------------+

2 创建用户user 

--password:设置密码

--project:关联项目

haha:用户名

[root@controller ~(admin)]# openstack user create --password 123456 --project haha haha

+---------------------+----------------------------------+

| Field               | Value                            |

+---------------------+----------------------------------+

| default_project_id  | f3344b52a58648a59aee080187f02a14 |

| domain_id           | default                          |

| enabled             | True                             |

| id                  | 78ad2ef4ac4d4c939ffff8b0cb191b07 |

| name                | haha                             |

| options             | {}                               |

| password_expires_at | None                             |

+---------------------+----------------------------------+

创建用户,绑定了 project,设置了密码。还少一步,分配角色,可是角色的分配不能直接在 user 里面进行分配,必须通过第二条命令来分配角色 

3 分配角色

[root@controller ~(admin)]# openstack role add --user haha --project haha  _member_

4 创建规格flavor

--vcpus:cpu数

--ram:内存

-disk:跟磁盘

m3.haha:创建规格名称

[root@controller ~(admin)]# openstack flavor create --vcpus 1 --ram 1024 --disk 2 m3.haha

+----------------------------+--------------------------------------+

| Field                      | Value                                |

+----------------------------+--------------------------------------+

| OS-FLV-DISABLED:disabled   | False                                |

| OS-FLV-EXT-DATA:ephemeral  | 0                                    |

| disk                       | 2                                    |

| id                         | dabdab5e-2fa3-4e62-993b-484ebe27cf36 |

| name                       | m3.haha                              |

| os-flavor-access:is_public | True                                 |

| properties                 |                                      |

| ram                        | 1024                                 |

| rxtx_factor                | 1.0                                  |

| swap                       |                                      |

| vcpus                      | 1                                    |

+----------------------------+--------------------------------------+

5 创建镜像image

--disk-format:镜像格式

--min-disk:最小磁盘

--public:公有

--file:镜像位置

rhe17:创建镜像名称

[root@controller tmp(admin)]# openstack image create --disk-format qcow2 --min-disk 2 --public --file /tmp/cirros-0.6.2-x86_64-disk.img  rhe17

+------------------+-------------------------------------------------------------------------------------------------------------------------------------------+

| Field            | Value                                                                                                                                     |

+------------------+-------------------------------------------------------------------------------------------------------------------------------------------+

| container_format | bare                                                                                                                                      |

| created_at       | 2024-09-12T07:18:11Z                                                                                                                      |

| disk_format      | qcow2                                                                                                                                     |

| file             | /v2/images/4024f29d-85ad-43fe-8f5b-1489861dbb94/file                                                                                      |

| id               | 4024f29d-85ad-43fe-8f5b-1489861dbb94                                                                                                      |

| min_disk         | 2                                                                                                                                         |

| min_ram          | 0                                                                                                                                         |

| name             | rhe17                                                                                                                                     |

| owner            | dc356bd62eb3411c948b3c11bcddcb12                                                                                                          |

| properties       | os_hidden='False', owner_specified.openstack.md5='', owner_specified.openstack.object='images/rhe17', owner_specified.openstack.sha256='' |

| protected        | False                                                                                                                                     |

| schema           | /v2/schemas/image                                                                                                                         |

| status           | queued                                                                                                                                    |

| tags             |                                                                                                                                           |

| updated_at       | 2024-09-12T07:18:11Z                                                                                                                      |

| visibility       | public                                                                                                                                    |

+------------------+-------------------------------------------------------------------------------------------------------------------------------------------+

6 创建公网network

6.1 创建网络

--project:项目名称

--provider-network-type:供应商网络类型

--share:共享

--external:外部网络

public:

[root@controller ~(admin)]# openstack network create  --project haha --provider-network-type flat --provider-physical-network extnet --share --external   public

+---------------------------+--------------------------------------+

| Field                     | Value                                |

+---------------------------+--------------------------------------+

| admin_state_up            | UP                                   |

| availability_zone_hints   |                                      |

| availability_zones        |                                      |

| created_at                | 2024-09-12T07:29:28Z                 |

| description               |                                      |

| dns_domain                | None                                 |

| id                        | f7708011-070c-42cc-87c0-34948ed692d1 |

| ipv4_address_scope        | None                                 |

| ipv6_address_scope        | None                                 |

| is_default                | False                                |

| is_vlan_transparent       | None                                 |

| mtu                       | 1500                                 |

| name                      | public                               |

| port_security_enabled     | True                                 |

| project_id                | f3344b52a58648a59aee080187f02a14     |

| provider:network_type     | flat                                 |

| provider:physical_network | extnet                               |

| provider:segmentation_id  | None                                 |

| qos_policy_id             | None                                 |

| revision_number           | 1                                    |

| router:external           | External                             |

| segments                  | None                                 |

| shared                    | True                                 |

| status                    | ACTIVE                               |

| subnets                   |                                      |

| tags                      |                                      |

| updated_at                | 2024-09-12T07:29:28Z                 |

+---------------------------+--------------------------------------+

6.2 创建子网

--subnet-range:子网网段

--gateway:网关

--dhcp:开启dncp服务

--allocation-pool start=192.168.235.20,end=192.168.235.30:地址池

--network:公网名称

[root@controller ~(admin)]# openstack subnet create --subnet-range 192.168.235.0/24 --gateway 192.168.235.2  --dhcp --allocation-pool start=192.168.235.20,end=192.168.235.30 --network public  public_sub

+----------------------+--------------------------------------+

| Field                | Value                                |

+----------------------+--------------------------------------+

| allocation_pools     | 192.168.235.20-192.168.235.30        |

| cidr                 | 192.168.235.0/24                     |

| created_at           | 2024-09-12T07:39:18Z                 |

| description          |                                      |

| dns_nameservers      |                                      |

| dns_publish_fixed_ip | None                                 |

| enable_dhcp          | True                                 |

| gateway_ip           | 192.168.235.2                        |

| host_routes          |                                      |

| id                   | 011e78fa-5721-4ab8-896d-724531a1cbe4 |

| ip_version           | 4                                    |

| ipv6_address_mode    | None                                 |

| ipv6_ra_mode         | None                                 |

| name                 | public_sub                           |

| network_id           | f7708011-070c-42cc-87c0-34948ed692d1 |

| prefix_length        | None                                 |

| project_id           | dc356bd62eb3411c948b3c11bcddcb12     |

| revision_number      | 0                                    |

| segment_id           | None                                 |

| service_types        |                                      |

| subnetpool_id        | None                                 |

| tags                 |                                      |

| updated_at           | 2024-09-12T07:39:18Z                 |

+----------------------+--------------------------------------+

对于普通而言,默认没有环境变量,复制一份,再改

[root@controller ~(admin)]# source keystonerc_haha

[root@controller ~(haha)]# cat keystonerc_haha

unset OS_SERVICE_TOKEN

    export OS_USERNAME=haha

    export OS_PASSWORD='123456'

    export OS_REGION_NAME=RegionOne

    export OS_AUTH_URL=http://192.168.235.101:5000/v3

export PS1='[\u@\h \W(haha)]\$ '

export OS_PROJECT_NAME=haha

export OS_USER_DOMAIN_NAME=Default

export OS_PROJECT_DOMAIN_NAME=Default

export OS_IDENTITY_API_VERSION=3

7 创建私网network

7.1 创建网络

[root@controller ~(haha)]# openstack network create private

+---------------------------+--------------------------------------+

| Field                     | Value                                |

+---------------------------+--------------------------------------+

| admin_state_up            | UP                                   |

| availability_zone_hints   |                                      |

| availability_zones        |                                      |

| created_at                | 2024-09-12T08:26:30Z                 |

| description               |                                      |

| dns_domain                | None                                 |

| id                        | 5d1d896e-76f7-4fe1-8ab9-8db001f4ae6f |

| ipv4_address_scope        | None                                 |

| ipv6_address_scope        | None                                 |

| is_default                | False                                |

| is_vlan_transparent       | None                                 |

| mtu                       | 1442                                 |

| name                      | private                              |

| port_security_enabled     | True                                 |

| project_id                | f3344b52a58648a59aee080187f02a14     |

| provider:network_type     | None                                 |

| provider:physical_network | None                                 |

| provider:segmentation_id  | None                                 |

| qos_policy_id             | None                                 |

| revision_number           | 1                                    |

| router:external           | Internal                             |

| segments                  | None                                 |

| shared                    | False                                |

| status                    | ACTIVE                               |

| subnets                   |                                      |

| tags                      |                                      |

| updated_at                | 2024-09-12T08:26:30Z                 |

+---------------------------+--------------------------------------+

7.2 创建子网

[root@controller ~(haha)]# openstack subnet create --subnet-range 192.168.99.0/24 --gateway 192.168.99.254  --dhcp --allocation-pool start=192.168.99.120,end=192.168.99.130 --network private  private_sub

+----------------------+--------------------------------------+

| Field                | Value                                |

+----------------------+--------------------------------------+

| allocation_pools     | 192.168.99.120-192.168.99.130        |

| cidr                 | 192.168.99.0/24                      |

| created_at           | 2024-09-12T08:31:39Z                 |

| description          |                                      |

| dns_nameservers      |                                      |

| dns_publish_fixed_ip | None                                 |

| enable_dhcp          | True                                 |

| gateway_ip           | 192.168.99.254                       |

| host_routes          |                                      |

| id                   | df5b2fd2-c3f1-4523-b2ef-a52ac22e166e |

| ip_version           | 4                                    |

| ipv6_address_mode    | None                                 |

| ipv6_ra_mode         | None                                 |

| name                 | private_sub                          |

| network_id           | 5d1d896e-76f7-4fe1-8ab9-8db001f4ae6f |

| prefix_length        | None                                 |

| project_id           | f3344b52a58648a59aee080187f02a14     |

| revision_number      | 0                                    |

| segment_id           | None                                 |

| service_types        |                                      |

| subnetpool_id        | None                                 |

| tags                 |                                      |

| updated_at           | 2024-09-12T08:31:39Z                 |

+----------------------+--------------------------------------+

8 创建路由router

[root@controller ~(haha)]# openstack router create router01

+-------------------------+--------------------------------------+

| Field                   | Value                                |

+-------------------------+--------------------------------------+

| admin_state_up          | UP                                   |

| availability_zone_hints |                                      |

| availability_zones      |                                      |

| created_at              | 2024-09-12T08:35:38Z                 |

| description             |                                      |

| external_gateway_info   | null                                 |

| flavor_id               | None                                 |

| id                      | 01f66819-18ee-42e4-a12e-41e240295393 |

| name                    | router01                             |

| project_id              | f3344b52a58648a59aee080187f02a14     |

| revision_number         | 1                                    |

| routes                  |                                      |

| status                  | ACTIVE                               |

| tags                    |                                      |

| updated_at              | 2024-09-12T08:35:38Z                 |

+-------------------------+--------------------------------------+

8.1 创建路由网关router

[root@controller ~(haha)]# openstack router set --external-gateway public router01

8.2 创建接口router

[root@controller ~(haha)]# openstack router add subnet router01 private_sub

9 创建安全组security

[root@controller ~(haha)]# openstack security group create security01

9.1 添加入方向ssh安全策略

[root@controller ~(haha)]# openstack security group rule create --protocol tcp --dst-port 22:22  --ingress security01

9.2 添加入方向ICMP安全策略

[root@controller ~(haha)]# openstack security group rule create --protocol icmp  --ingress security01

10 创建密钥对keypair

[root@controller ~(haha)]# openstack keypair create   keypair01 > keypair01.pem

11 发放云主机

[root@controller ~(haha)]# openstack server create --flavor m3.haha --image rhe17 --security-group security01 --key-name keypair01 --nic net-id=5d1d896e-76f7-4fe1-8ab9-8db001f4ae6f --min 1 ecs01

12 创建分配EIP

[root@controller ~(haha)]# openstack floating ip create public

+---------------------+--------------------------------------+

| Field               | Value                                |

+---------------------+--------------------------------------+

| created_at          | 2024-09-13T06:29:23Z                 |

| description         |                                      |

| dns_domain          | None                                 |

| dns_name            | None                                 |

| fixed_ip_address    | None                                 |

| floating_ip_address | 192.168.235.29                       |

| floating_network_id | f7708011-070c-42cc-87c0-34948ed692d1 |

| id                  | 97175e70-8d6d-40c7-9770-97cbc1598303 |

| name                | 192.168.235.29                       |

| port_details        | None                                 |

| port_id             | None                                 |

| project_id          | f3344b52a58648a59aee080187f02a14     |

| qos_policy_id       | None                                 |

| revision_number     | 0                                    |

| router_id           | None                                 |

| status              | DOWN                                 |

| subnet_id           | None                                 |

| tags                | []                                   |

| updated_at          | 2024-09-13T06:29:23Z                 |

+---------------------+--------------------------------------+

[root@controller ~(haha)]# openstack floating ip list

+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+

| ID                                   | Floating IP Address | Fixed IP Address | Port | Floating Network                     | Project                          |

+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+

| 97175e70-8d6d-40c7-9770-97cbc1598303 | 192.168.235.29      | None             | None | f7708011-070c-42cc-87c0-34948ed692d1 | f3344b52a58648a59aee080187f02a14 |

+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+

12.1 绑定EIP

[root@controller ~(haha)]# openstack server add floating ip ecs01 192.168.235.29

13 测试

云主机能正常访问外网

外网也能够访问云主机

14 通过密钥对登入

15 创建云硬盘volume

[root@controller ~(haha)]# openstack volume create --size 2 --type iscsi evs01

+---------------------+--------------------------------------+

| Field               | Value                                |

+---------------------+--------------------------------------+

| attachments         | []                                   |

| availability_zone   | nova                                 |

| bootable            | false                                |

| consistencygroup_id | None                                 |

| created_at          | 2024-09-13T06:45:06.250898           |

| description         | None                                 |

| encrypted           | False                                |

| id                  | cdf0bffe-13bd-4152-8db7-535528ce108b |

| multiattach         | False                                |

| name                | evs01                                |

| properties          |                                      |

| replication_status  | None                                 |

| size                | 2                                    |

| snapshot_id         | None                                 |

| source_volid        | None                                 |

| status              | creating                             |

| type                | iscsi                                |

| updated_at          | None                                 |

| user_id             | 78ad2ef4ac4d4c939ffff8b0cb191b07     |

+---------------------+--------------------------------------+

15.1 挂载硬盘

[root@controller ~(haha)]# openstack server add volume ecs01 evs01

[root@controller ~(haha)]# openstack server add volume --help

usage: openstack server add volume [-h] [--device <device>]

                                   [--enable-delete-on-termination | --disable-delete-on-termination]

                                   <server> <volume>

Add volume to server. Specify ``--os-compute-api-version 2.20`` or higher to

add a volume to a server with status ``SHELVED`` or ``SHELVED_OFFLOADED``.

positional arguments:

  <server>              Server (name or ID)

  <volume>              Volume to add (name or ID)

optional arguments:

  -h, --help            show this help message and exit

  --device <device>     Server internal device name for volume

  --enable-delete-on-termination

                        Specify if the attached volume should be deleted when

                        the server is destroyed. (Supported with ``--os-

                        compute-api-version`` 2.79 or greater.)

  --disable-delete-on-termination

                        Specify if the attached volume should not be deleted

                        when the server is destroyed. (Supported with ``--os-

                        compute-api-version`` 2.79 or greater.)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值