私有云体验:OpenStack

来自CloudWiki
跳转至: 导航搜索

准备工作

下载单节点镜像

OpenStack单节点镜像

链接:https://pan.baidu.com/s/1kVYjMgV_VvTHm2H4i16LmQ

提取码:n2yj

安装虚拟机

【腾讯文档】2022级体验单节点0913 https://docs.qq.com/doc/DUFRoYWZySkRGRlFT

开启虚拟机

开启虚拟机

root 000000


登录云平台

http://192.168.100.10/dashboard

Cloud2021110601.png

如果不能成功登陆,请启动httpd服务。

域:xiandian ,用户:admin ,密码:000000

这里的域 从这个文件中配置:

[root@controller ~]# cat /etc/keystone/admin-openrc.sh

export OS_PROJECT_DOMAIN_NAME=xiandian
export OS_USER_DOMAIN_NAME=xiandian
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=000000
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

用户操作

查询版本号

openstack --version

 openstack 2.2.0

创建用户

[root@controller ~]# source /etc/keystone/admin-openrc.sh

获取令牌:

[root@controller ~]# openstack --os-project-name admin --os-domain-name demo --os-username admin --os-password 000000 --os-auth-url http://controller:35357/v3 token issue

+------------+-----------------------------------------------------------------+
| Field      | Value                                                           |
+------------+-----------------------------------------------------------------+
| expires    | 2021-11-05T17:40:06.357357Z                                     |
| id         | gAAAAABhhV5mpf3CbfCjQDF6czHFao8nW2JMHYI9pKdQtPB7a-qwJHKf06g6SXL |
|            | rWCPwLwMiF25CYgl2ERQsOwovNIs4wImblwd6SZ_YW29jl6Whl7yrZlj8BQQESG |
|            | Vz8V2uHiUnpi7I0mPB-iJ4tPWtk3bsmX1PQZMvulGLezf8xs5ZrQw-RmM       |
| project_id | f9ff39ba9daa4e5a8fee1fc50e2d2b34                                |
| user_id    | 0befa70f767848e39df8224107b71858                                |
+------------+-----------------------------------------------------------------+

这个命令是OpenStack命令行工具的一部分,用于发出一个请求来获取令牌。

现实生活中的例子或类比:假设你是一家公司的管理员,你需要使用一个身份验证系统来访问公司内部的各种资源。你会使用一个特定的命令来请求一个访问令牌,该令牌将允许你在一段时间内访问这些资源。

域demo改成xiandian

创建用户

[root@controller ~]# openstack user create --password mypassword123 --email alice@example.com --domain xiandian alice

+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | 9321f21a94ef4f85993e92a228892418 |
| email     | alice@example.com                |
| enabled   | True                             |
| id        | 9a1d2602b5d8404a95dd96beddda3a7e |
| name      | alice                            |
+-----------+----------------------------------+


创建项目

创建一个名为“acme”项目。

[root@controller ~]# openstack project create --domain xiandian acme

+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description |                                  |
| domain_id   | 9321f21a94ef4f85993e92a228892418 |
| enabled     | True                             |
| id          | 981bcb2641444b7eabc43f3605032b8e |
| is_domain   | False                            |
| name        | acme                             |
| parent_id   | 9321f21a94ef4f85993e92a228892418 |


(3)创建角色。 角色限定了用户的操作权限。例如,创建一个角色“compute-user”。

[root@controller ~]# openstack role create compute-user

+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | None                             |
| id        | 16462907688643b3a45e1fdff141e42f |
| name      | compute-user                     |
+-----------+----------------------------------+

[root@controller ~]# openstack role list

+----------------------------------+------------------+
| ID                               | Name             |
+----------------------------------+------------------+
| 16462907688643b3a45e1fdff141e42f | compute-user     |
| 398b127b3ac040c58b6629c58b776196 | heat_stack_user  |
| 4217695f42ba45e59434a3285cab5c07 | heat_stack_owner |
| 5a9eac70b43a42f9ad55dfe44c455e9a | admin            |
| 6280f11c992f4b94a9d04e349150a14f | user             |
| 7c31824d545e491f9514b67cc85812ab | ResellerAdmin    |
+----------------------------------+------------------+


(4)绑定用户和项目权限。 添加的用户需要分配一定的权限,这就需要把用户关联绑定到对应的项目和角色。例如,给用户“alice”分配“acme”项目下的“compute-user”角色,命令如下。

openstack role add --project acme --user alice compute-user


(5)图形化界面操作。

以管理员身份登录到dashboard,进入“身份管理/项目”,可以看到项目(项目)列表,

Cloud2023100501.jpg

单击图界面中的【管理成员】按钮,进入“acme”项目中。在这个界面中,可以查看刚加入的用户“alice”,把该用户分配给用户对应的角色“compute-user”,如图3-3所示。完成该操作后,用户“alice”就可用“alice”用户名和对应密码“mypassword123”登录云平台了。

创建镜像

复制镜像至控制节点

将qcow2镜像传到控制节点

[root@controller ~]# ls /opt
cirros-0.4.0-x86_64-disk.img  iaas2.2  yum.repos.d
 

上传镜像至Glance服务

在controller节点中,通过glance命令,将qcow2镜像上传至平台中

[root@controller ~]# source /etc/keystone/admin-openrc.sh

[root@controller ~]# glance image-create --name cirros-0.5.2 --disk-format qcow2 --container-format bare --progress < /opt/cirros-0.5.2-x86_64-disk.img

 
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | b874c39491a2377b8490f5f1e89761a4     |
| container_format | bare                                 |
| created_at       | 2023-10-04T12:09:55Z                 |
| disk_format      | qcow2                                |
| id               | d95ef99a-8535-4502-a6e4-bf96feeb21b6 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | cirros-0.5.2                         |
| owner            | f9ff39ba9daa4e5a8fee1fc50e2d2b34     |
| protected        | False                                |
| size             | 16300544                             |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2023-10-04T12:09:58Z                 |
| virtual_size     | None                                 |
| visibility       | private                              |

Cloud2023100502.jpg

创建网络

创建网络

[root@controller ~]# neutron net-create --shared --provider:physical_network provider --provider:network_type flat provider

Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2023-10-07T10:19:23                  |
| description               |                                      |
| id                        | 2c43aeee-7b42-4d87-a376-6dc85c6cf1f6 |
| ipv4_address_scope        |                                      |
| ipv6_address_scope        |                                      |
| mtu                       | 1500                                 |
| name                      | provider                             |
| port_security_enabled     | True                                 |
| provider:network_type     | flat                                 |
| provider:physical_network | provider                             |
| provider:segmentation_id  |                                      |
| router:external           | False                                |
| shared                    | True                                 |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tags                      |                                      |
| tenant_id                 | f9ff39ba9daa4e5a8fee1fc50e2d2b34     |
| updated_at                | 2023-10-07T10:19:23                  |
+---------------------------+--------------------------------------+


创建子网

[root@controller ~]# neutron subnet-create provider 192.168.100.0/24 --name subnet001 --enable_dhcp=True --allocation-pool start=192.168.100.100,end=192.168.100.150 --gateway=192.168.100.2

Created a new subnet:
+-------------------+--------------------------------------------------------+
| Field             | Value                                                  |
+-------------------+--------------------------------------------------------+
| allocation_pools  | {"start": "192.168.100.100", "end": "192.168.100.150"} |
| cidr              | 192.168.100.0/24                                       |
| created_at        | 2023-10-07T10:21:53                                    |
| description       |                                                        |
| dns_nameservers   |                                                        |
| enable_dhcp       | True                                                   |
| gateway_ip        | 192.168.100.2                                          |
| host_routes       |                                                        |
| id                | e6aaa078-32cc-48e1-8131-c076181254f3                   |
| ip_version        | 4                                                      |
| ipv6_address_mode |                                                        |
| ipv6_ra_mode      |                                                        |
| name              | subnet001                                              |
| network_id        | 2c43aeee-7b42-4d87-a376-6dc85c6cf1f6                   |
| subnetpool_id     |                                                        |
| tenant_id         | f9ff39ba9daa4e5a8fee1fc50e2d2b34                       |
| updated_at        | 2023-10-07T10:21:53                                    |
+-------------------+--------------------------------------------------------+


管理安全组

管理default默认安全组

管理访问策略安全组,选择导航栏“项目→计算→访问&安全”命令,管理 default默认规则。

Cloud2021103107.png

添加放行策略

单击右侧“添加规则”按钮,放行通信策略。

Cloud2021103108.png

放行所有ICMP协议,单击“添加”按钮。

Cloud2021103109.png

放行所有TCP协议,单击“添加”按钮。

Cloud2021103110.png

放行所有UDP协议,单击“添加”按钮。

Cloud2021103111.png

创建云主机

创建云主机

创建云主机,选择导航栏“项目→计算→云主机”命令,单击右侧“创建云 主机”按钮。

Cloud2021103112.png