OpenStack(T版)——网络(Neutron)服务介绍与安装

文章目录

  • OpenStack(T版)——网络(Neutron)服务介绍与安装
  • 安装和配置(controller)
    • 准备
      • (1)创建数据库
      • (2)加载admin user的环境变量
      • (3)创建服务凭证
    • 配置Neutron网络服务组件
      • (1)安装软件
      • (2)配置服务器组件
      • (3)配置Layer 2 (ML2)plug-in模块
      • (4)配置桥接代理
      • (5)配置内核
      • (6)配置DHCP代理
      • (7)配置元数据代理
      • (8)配置计算服务以使用网络服务
    • 完成安装
  • 安装和配置(compute)
    • 网络服务组件安装和配置通用组件
      • (1)安装软件包
      • (2)配置通用组件
    • 配置网络核心组件
    • 配置内核
    • 配置计算服务组件
    • 完成安装
  • 验证
  • 启动虚拟机
    • 创建flavor
    • 创建密钥对
    • 添加安全组
    • 创建网络
    • 启动实例
    • 使用虚拟控制台访问实例
      • 验证是否能够访问本机
      • 远程访问实例

OpenStack(T版)——网络(Neutron)服务介绍与安装

OpenStack Neutron 就是为 OpenStack 虚拟机提供网络连接的服务。类比于现实生活中的网络,就像我们需要连接电脑、手机等设备到路由器上才能上网一样,虚拟机也需要连接到虚拟网络中才能进行通信和访问外部网络。而 Neutron 就是提供这个连接的服务。它能够帮助用户灵活地管理虚拟机的网络连接,包括分配 IP 地址、设置子网、路由器等网络设备,以及控制网络访问权限等。同时,Neutron 还支持多种网络虚拟化技术,能够让多个虚拟网络之间互相隔离和通信。

Flat、Local VLAN、VXLAN 和 GRE 都是 OpenStack Neutron 中的网络虚拟化技术,用于在虚拟机之间或虚拟机与外部网络之间建立虚拟网络连接

下面分别解释这四种技术的含义和特点:

Flat技术最简单,只是直接把数据包发送到物理网络,不支持流量隔离和管理

VLAN技术基于虚拟局域网,将虚拟网络划分成多个逻辑网络,适用于单一物理网络环境下的虚拟网络;

VXLAN和GRE技术则是用UDP和IP协议将虚拟网络划分成多个逻辑网络,适用于跨物理网络或数据中心之间的虚拟网络部署。

安装和配置(controller)

准备

(1)创建数据库

①在操作系统终端连接数据库

[root@controller ~]# mysql -u root -p000000

②创建Neutron数据库

MariaDB [(none)]> CREATE DATABASE neutron;

③Neutron数据库的访问权限设置

MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%'  IDENTIFIED BY '000000'; 

④退出数据库

MariaDB [(none)]> exit

(2)加载admin user的环境变量

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

(3)创建服务凭证

①创建Neutron用户

[root@controller ~]# openstack user create --domain default --password-prompt neutron
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 95213d68498d48efae7f986fc56c20ba |
| name                | neutron                          |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

②将admin role 赋予 neutron user 和service project

[root@controller ~]# openstack role add --project service --user neutron admin

③创建Neutron 网络服务 service entity

[root@controller ~]# openstack service create --name neutron --description "OpenStack Networking" network
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Networking             |
| enabled     | True                             |
| id          | 4cd0a74d9e824a2186bd5c8a25f1ce8c |
| name        | neutron                          |
| type        | network                          |
+-------------+----------------------------------+

(4)创建Neutron网络服务组件的API endpoint

[root@controller ~]# openstack endpoint create --region RegionOne network public http://controller:9696
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 5d704d8177b94d22814c77200fbf7502 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | a868e8135c7242be99881bf452a826cb |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://controller:9696           |
+--------------+----------------------------------+[root@controller ~]# openstack endpoint create --region RegionOne  network internal http://controller:9696
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 247feaa6e95346b78eb5dbb6aecbfbb7 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | a868e8135c7242be99881bf452a826cb |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://controller:9696           |
+--------------+----------------------------------+[root@controller ~]# openstack endpoint create --region RegionOne  network admin http://controller:9696
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 2132cb74585342ccb6728889a7726fd3 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | a868e8135c7242be99881bf452a826cb |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://controller:9696           |
+--------------+----------------------------------+

配置Neutron网络服务组件

官方文档

image-20230627180839729

Neutron网络服务组件的设计架构可以分为两种,提供商网络和自服务网络。

  • 提供商网络比较简单,虚拟机实例连接公共网络(Public Network),没有自服务网络(Self-Service Network)、路由和浮动IP地址(Floatiing IP address),只有管理员或者有权限的用户可以操作公共网络。在这种架构下,虚拟机实例只能通过公共网络与外部网络通信,不能直接访问公共网络之外的网络。
  • 自服务网络是在简单架构的基础上增加了第三层服务,支持自服务(Self-Service)网络。在这种架构下,管理员和有权限的用户可以管理自服务网络,自服务网络可以分配给虚拟机实例,并且通过自服务网络可以访问外部网络。此外,自服务网络还支持路由和浮动IP地址,可以实现更加灵活的网络管理。

自服务网络比提供商网络更加灵活,可以实现更加复杂的网络拓扑结构,满足更加多样化的应用场景

本次采用提供商网络

以下操作均在controller节点执行

(1)安装软件

[root@controller ~]# yum install  -y  openstack-neutron openstack-neutron-ml2  openstack-neutron-linuxbridge ebtables

(2)配置服务器组件

编辑/etc/neutron/neutron.conf文件并完成以下操作:

①在[database]部分中,配置数据库访问

[root@controller ~]# vim /etc/neutron/neutron.conf
[database]
connection = mysql+pymysql://neutron:000000@controller/neutron

②在[DEFAULT]部分中,启动 Layer 2 (ML2) plug-in、路由服务和IP地址重叠功能

[DEFAULT]
core_plugin = ml2
service_plugins = 

③在[DEFAULT]部分中,配置RabbitMQ 消息队列访问

[DEFAULT]
transport_url = rabbit://openstack:000000@controller

④在[DEFAULT][keystone_authtoken]部分中,配置身份服务访问

[DEFAULT]
auth_strategy = keystone[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 000000

⑤在[DEFAULT][nova]部分中,配置Neutron网络服务通知Nova计算服务关于网络拓扑的改变

[DEFAULT]
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
# 这两个参数的作用是通知 Nova 计算服务组件有关端口状态和数据变化的信息
# 具体来说,当虚拟机实例的网络端口状态发生变化时
# 例如端口被创建、更新或删除时,Neutron 会将相关信息发送给 Nova
# 以便 Nova 可以更新虚拟机实例的状态信息
[nova]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = 000000

⑥在[oslo_concurrency]部分中,配置锁定路径

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

(3)配置Layer 2 (ML2)plug-in模块

ML2 plug-in使用桥接机制为虚拟机实例桥接和交换网络信息

①编辑文件 /etc/neutron/plugins/ml2/ml2_conf.ini,在[ml2]项,完成以下操作

ml2_conf.ini

①在[ml2]部分中,启用平面和 VLAN 网络

[root@controller ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = flat,vlan

②在[ml2]部分中,禁用自助服务网络

[ml2]
tenant_network_types =

③在[ml2]部分中,启用 Linux 桥接机制

[ml2]
mechanism_drivers = linuxbridge

④在[ml2]部分中,启用端口安全扩展驱动程序:

[ml2]
extension_drivers = port_security

⑤在本[ml2_type_flat]部分中,将提供商虚拟网络配置为平面网络

[ml2_type_flat]
flat_networks = provider

⑥在[securitygroup]部分中,启用 ipset 以提高安全组规则的效率

[securitygroup]
enable_ipset = true

(4)配置桥接代理

Linux 桥接代理为实例构建第 2 层(桥接和交换)虚拟网络基础设施并处理安全组

编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并完成以下操作

linuxbridge_agent.ini

①在[linux_bridge]部分中,将提供商虚拟网络映射到提供商物理网络接口

[root@controller ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:ens34 # 定义 Linux Bridge 网络服务的物理网络映射关系。
# PROVIDER_INTERFACE_NAME 表示物理网络接口的名称,这个名称需要根据实际情况进行配置。

②在[vxlan]部分中,禁用 VXLAN 覆盖网络:

[vxlan]
enable_vxlan = false

③在[securitygroup]部分中,启用安全组并配置 Linux 桥接 iptables 防火墙驱动程序:

[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
# firewall_driver:表示防火墙驱动类型
# enable_security_group:表示是否启用安全组功能。

(5)配置内核

[root@controller ~]# vim /etc/sysctl.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
# 当这些参数的值为 1 时,Linux Bridge 桥接的数据包会经过 iptables 或 ip6tables 处理
# 从而可以实现访问控制、网络隔离等安全措施。
[root@controller ~]# modprobe br_netfilter # 加载 br_netfilter 内核模块。
[root@controller ~]# sysctl -p
# 用于加载系统的 sysctl 参数文件

(6)配置DHCP代理

DHCP代理为虚拟网络提供DHCP服务。

编辑/etc/neutron/dhcp_agent.ini文件并完成以下操作

[root@controller ~]# vim /etc/neutron/dhcp_agent.ini
[DEFAULT]
interface_driver = linuxbridge                  
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq  
enable_isolated_metadata = true                 
# interface_driver指定了 Neutron 使用的网络插件
# dhcp_driver指定了 Neutron 使用的 DHCP 代理程序
# enable_isolated_metadata启用了 Neutron 的元数据服务。

(7)配置元数据代理

元数据代理项实例提供配置信息

编辑/etc/neutron/metadata_agent.ini文件并完成以下操作

①在 部分中[DEFAULT],配置元数据主机和共享密钥

[root@controller ~]# vim /etc/neutron/metadata_agent.ini
[DEFAULT]
nova_metadata_host = controller
metadata_proxy_shared_secret = 000000
# nova_metadata_host指定了 Nova 元数据服务的主机地址,即控制节点的 IP 地址或主机名
# metadata_proxy_shared_secret指定了 Nova 元数据代理程序的共享密钥
# 即元数据服务和元数据代理程序之间进行通信时使用的密钥

(8)配置计算服务以使用网络服务

必须安装 Nova 计算服务才能完成此步骤

编辑该/etc/nova/nova.conf文件并执行以下操作

①在[neutron]部分中,配置访问参数、启用元数据代理并配置密钥

[root@controller ~]# vim /etc/nova/nova.conf 
[neutron]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = 000000
service_metadata_proxy = true
metadata_proxy_shared_secret = 000000

完成安装

①网络服务初始化脚本需要一个指向 /etc/neutron/plugin.iniML2 插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini.如果此符号链接不存在,请使用以下命令创建它

[root@controller ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

②同步数据库

[root@controller ~]# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

③重启API服务

[root@controller ~]# systemctl restart openstack-nova-api.service

④启动网络服务并设置开机自启

[root@controller ~]# systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service  neutron-metadata-agent.service &&  systemctl enable neutron-server.service  neutron-linuxbridge-agent.service neutron-dhcp-agent.service  neutron-metadata-agent.service
# 自行查看日志文件没有error就可以了

安装和配置(compute)

网络服务组件安装和配置通用组件

(1)安装软件包

[root@compute ~]# yum install  -y openstack-neutron-linuxbridge ebtables ipset

(2)配置通用组件

Neutron网络服务组件的通用部分包括认证机制、消息队列和plug-in

①编辑/etc/neutron/neutron.conf文件并完成以下操作

[database]部分中,注释掉所有connection选项,因为计算节点不直接访问数据库

②在[DEFAULT]部分中,配置RabbitMQ 消息队列访问

[root@compute ~]# vim /etc/neutron/neutron.conf
[DEFAULT]
transport_url = rabbit://openstack:000000@controller

③在[DEFAULT][keystone_authtoken]部分中,配置身份服务访问

[DEFAULT]
auth_strategy = keystone[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 000000

④在[oslo_concurrency]部分中,配置锁定路径

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

配置网络核心组件

官方文档

image-20230629101953626

(1)编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

①在[linux_bridge]部分中,将Public Network 虚拟网络端口映射到物理网络端口

[root@compute ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:ens34
# Linux Bridge 插件将使用 ens34 网卡来连接 provider 物理网络
# 实现虚拟网络和物理网络之间的数据交换。

②在[vxlan]部分中,启用VXLAN功能和 Layer 2 population,配置处理Overlay Network 的物理网络端口的IP地址

[vxlan]
enable_vxlan = false

③在[securitygroup]部分中,启用安全组并配置 Linux 桥接 iptables 防火墙驱动程序

[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置内核

[root@compute ~]# vim /etc/sysctl.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
[root@compute ~]# modprobe br_netfilter 
[root@compute ~]# sysctl -p

配置计算服务组件

(1)编辑/etc/nova/nova.conf文件并完成以下操作

[neutron]部分中,配置访问参数

[root@compute ~]# vim /etc/nova/nova.conf 
[neutron]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = 000000

完成安装

重新启动计算服务

[root@compute ~]#  systemctl restart openstack-nova-compute.service

启动bridge agent 并设置为开机自启

[root@compute ~]#  systemctl start neutron-linuxbridge-agent.service && systemctl enable neutron-linuxbridge-agent.service 

验证

(1)加载环境变量文件

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

(2) 到controller验证 openstack network agent list

image-20230628182402116

启动虚拟机

创建flavor

[root@controller ~]# openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
+----------------------------+---------+
| Field                      | Value   |
+----------------------------+---------+
| OS-FLV-DISABLED:disabled   | False   |
| OS-FLV-EXT-DATA:ephemeral  | 0       |
| disk                       | 1       |
| id                         | 0       |
| name                       | m1.nano |
| os-flavor-access:is_public | True    |
| properties                 |         |
| ram                        | 64      |
| rxtx_factor                | 1.0     |
| swap                       |         |
| vcpus                      | 1       |
+----------------------------+---------+

创建密钥对

[root@controller ~]# ssh-keygen -q -N ""
Enter file in which to save the key (/root/.ssh/id_rsa):
[root@controller ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
+-------------+-------------------------------------------------+
| Field       | Value                                           |
+-------------+-------------------------------------------------+
| fingerprint | d2:a2:a8:1b:ae:4d:08:52:57:5b:ce:07:76:df:e1:d6 |
| name        | mykey                                           |
| user_id     | fef5f8c16d3d4b9d849bc1488bf50a21                |
+-------------+-------------------------------------------------+
# 验证
[root@controller ~]# openstack keypair list
+-------+-------------------------------------------------+
| Name  | Fingerprint                                     |
+-------+-------------------------------------------------+
| mykey | d2:a2:a8:1b:ae:4d:08:52:57:5b:ce:07:76:df:e1:d6 |
+-------+-------------------------------------------------+

添加安全组

default安全组添加规则

允许ICMP (ping)

[root@controller ~]# openstack security group rule create --proto icmp default
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field             | Value                                                                                                                                                   |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| created_at        | 2023-06-29T02:14:06Z                                                                                                                                    |
| description       |                                                                                                                                                         |
| direction         | ingress                                                                                                                                                 |
| ether_type        | IPv4                                                                                                                                                    |
| id                | 29966f26-1836-4e74-b8d3-de4552778917                                                                                                                    |
| location          | cloud='', project.domain_id=, project.domain_name='Default', project.id='0769b940829c4078a4aa573e83d6520c', project.name='admin', region_name='', zone= |
| name              | None                                                                                                                                                    |
| port_range_max    | None                                                                                                                                                    |
| port_range_min    | None                                                                                                                                                    |
| project_id        | 0769b940829c4078a4aa573e83d6520c                                                                                                                        |
| protocol          | icmp                                                                                                                                                    |
| remote_group_id   | None                                                                                                                                                    |
| remote_ip_prefix  | 0.0.0.0/0                                                                                                                                               |
| revision_number   | 0                                                                                                                                                       |
| security_group_id | 9fd799d7-c00c-40f8-bf06-6d3282de8679                                                                                                                    |
| tags              | []                                                                                                                                                      |
| updated_at        | 2023-06-29T02:14:06Z                                                                                                                                    |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+

允许安全 shell (SSH) 访问

[root@controller ~]# openstack security group rule create --proto tcp --dst-port 22 default
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field             | Value                                                                                                                                                   |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| created_at        | 2023-06-29T02:18:24Z                                                                                                                                    |
| description       |                                                                                                                                                         |
| direction         | ingress                                                                                                                                                 |
| ether_type        | IPv4                                                                                                                                                    |
| id                | 16fe8b3a-1b6f-4517-aa14-8e01c22f7724                                                                                                                    |
| location          | cloud='', project.domain_id=, project.domain_name='Default', project.id='0769b940829c4078a4aa573e83d6520c', project.name='admin', region_name='', zone= |
| name              | None                                                                                                                                                    |
| port_range_max    | 22                                                                                                                                                      |
| port_range_min    | 22                                                                                                                                                      |
| project_id        | 0769b940829c4078a4aa573e83d6520c                                                                                                                        |
| protocol          | tcp                                                                                                                                                     |
| remote_group_id   | None                                                                                                                                                    |
| remote_ip_prefix  | 0.0.0.0/0                                                                                                                                               |
| revision_number   | 0                                                                                                                                                       |
| security_group_id | 9fd799d7-c00c-40f8-bf06-6d3282de8679                                                                                                                    |
| tags              | []                                                                                                                                                      |
| updated_at        | 2023-06-29T02:18:24Z                                                                                                                                    |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+

创建网络

[root@controller ~]#  openstack network create  --share --external   --provider-physical-network provider  --provider-network-type flat flat-provider# 创建子网
[root@controller ~]#  openstack subnet create --network flat-provider  --allocation-pool start=192.168.200.50,end=192.168.200.100  --dns-nameserver 114.114.114.114 --gateway 192.168.200.2  --subnet-range 192.168.200.0/24 flat-subnet

启动实例

[root@controller ~]# openstack server create --flavor m1.nano --image cirros  --nic net-id=f711b92a-f20b-4704-9cb5-d295d423268a --security-group default  --key-name mykey server1
+-------------------------------------+-----------------------------------------------+
| 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                           | qcHi7Xb84BDi                                  |
| config_drive                        |                                               |
| created                             | 2023-06-29T02:28:35Z                          |
| flavor                              | m1.nano (0)                                   |
| hostId                              |                                               |
| id                                  | eded4b15-e614-495f-abcf-7af4335844e2          |
| image                               | cirros (1e4266c4-6dbd-4f27-830e-e857dc546f5b) |
| key_name                            | mykey                                         |
| name                                | server1                                       |
| progress                            | 0                                             |
| project_id                          | 0769b940829c4078a4aa573e83d6520c              |
| properties                          |                                               |
| security_groups                     | name='9fd799d7-c00c-40f8-bf06-6d3282de8679'   |
| status                              | BUILD                                         |
| updated                             | 2023-06-29T02:28:35Z                          |
| user_id                             | fef5f8c16d3d4b9d849bc1488bf50a21              |
| volumes_attached                    |                                               |
+-------------------------------------+-----------------------------------------------+[root@controller ~]# openstack server list
+--------------------------------------+---------+--------+------------------------------+--------+---------+
| ID                                   | Name    | Status | Networks                     | Image  | Flavor  |
+--------------------------------------+---------+--------+------------------------------+--------+---------+
| eded4b15-e614-495f-abcf-7af4335844e2 | server1 | ACTIVE | flat-provider=192.168.200.79 | cirros | m1.nano |
+--------------------------------------+---------+--------+------------------------------+--------+---------+

使用虚拟控制台访问实例

[root@controller ~]# openstack console url show server1
+-------+-------------------------------------------------------------------------------------------+
| Field | Value                                                                                     |
+-------+-------------------------------------------------------------------------------------------+
| type  | novnc                                                                                     |
| url   | http://controller:6080/vnc_auto.html?path=%3Ftoken%3Da9d0b3b4-97f6-4865-b8ce-0252a66bb058 |
+-------+-------------------------------------------------------------------------------------------+

image-20230629103433448

# 解决:
[root@compute ~]# virsh capabilities
pc-i440fx-rhel7.2.0
[root@compute ~]# vim /etc/nova/nova.conf
hw_machine_type = x86_64=pc-i440fx-rhel7.2.0  # 更改虚拟化
cpu_mode = host-passthrough                   # 使用宿主机cpu
# 重启:
[root@compute ~]# systemctl restart openstack-nova-*

再次创建虚拟机

[root@controller ~]# openstack server create --flavor m1.nano --image cirros  --nic net-id=f711b92a-f20b-4704-9cb5-d295d423268a --security-group default  --key-name mykey server2
+-------------------------------------+-----------------------------------------------+
| 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                           | wp3UChp8p9Vk                                  |
| config_drive                        |                                               |
| created                             | 2023-06-29T02:42:23Z                          |
| flavor                              | m1.nano (0)                                   |
| hostId                              |                                               |
| id                                  | e9ae5fa0-2787-453e-8b89-6c4058544622          |
| image                               | cirros (1e4266c4-6dbd-4f27-830e-e857dc546f5b) |
| key_name                            | mykey                                         |
| name                                | server2                                       |
| progress                            | 0                                             |
| project_id                          | 0769b940829c4078a4aa573e83d6520c              |
| properties                          |                                               |
| security_groups                     | name='9fd799d7-c00c-40f8-bf06-6d3282de8679'   |
| status                              | BUILD                                         |
| updated                             | 2023-06-29T02:42:23Z                          |
| user_id                             | fef5f8c16d3d4b9d849bc1488bf50a21              |
| volumes_attached                    |                                               |
+-------------------------------------+-----------------------------------------------+
[root@controller ~]# openstack console url show server2
+-------+-------------------------------------------------------------------------------------------+
| Field | Value                                                                                     |
+-------+-------------------------------------------------------------------------------------------+
| type  | novnc                                                                                     |
| url   | http://controller:6080/vnc_auto.html?path=%3Ftoken%3D023b6a9e-d474-41de-8f78-387c864f0906 |
+-------+-------------------------------------------------------------------------------------------+

image-20230629104353933

验证是否能够访问本机

image-20230629104701941

也能ping通外网

image-20230629104842697

远程访问实例

[root@controller ~]# ssh cirros@192.168.200.92
The authenticity of host '192.168.200.92 (192.168.200.92)' can't be established.
RSA key fingerprint is SHA256:D0GT9nWiGUGvVrvUb8ZUerhDX84Rit3IsCwVSUdcomQ.
RSA key fingerprint is MD5:17:06:0e:00:48:02:51:ac:46:c7:a4:82:c1:4b:45:c5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.200.92' (RSA) to the list of known hosts.
$ 

本文参考视频:https://www.bilibili.com/video/BV1fL4y1i7NZ?p=7&vd_source=7c7cb4224e0c273f28886e581838b110

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2461.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS知识点汇总(七)--数据类型

1. JavaScript中的简单数据类型有哪些? 1、概述 JS 中有六种简单数据类型:undefined、null、boolean、string、number、symbol ES10中的新特性 BigInt (任意精度整数),目前还处于stage-4阶段,不出意外即将成为js的第七种基本数据…

多元函数微分

1-7 8,梯度 多元函数梯度: 方向导数是梯度在L方向上的投影 梯度方向是f增长最快的方向 9,极值点处若存在偏导,则该点为驻点,该点处的各偏导值为0 10, 二阶偏导和极值 二元函数: 多元函数的…

企业电子招投标采购系统之项目说明和开发类型源码

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审…

哪个爬虫库用的最多?

在Python中,最常用的爬虫库是requests和BeautifulSoup。requests库用于发送HTTP请求和处理响应,而BeautifulSoup库用于解析HTML文档。这两个库通常结合使用,用于爬取网页内容并提取所需的数据。其他常用的爬虫库还包括Scrapy、Selenium等。 常…

kkfileview部署使用

1.gitee下载源码 kkFileView: 使用spring boot打造文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、wps、xls、xlsx、zip、rar、ofd、xmind、bpmn 、eml 、epub、3ds、dwg、psd 、mp4、mp3以及众多类文本类型文件在线预览 2.去掉cad 3.替换水印字体为免费…

构建交互式数据框架:使用Gradio的Dataframe模块

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

视频解说小程序看点小程序搭建上线,流量主对接实现广告收益

什么是视频解说小程序? 影视剪辑和解说,我们都知道有这类的抖音号,这时候就用到我们小程序了,流量主产生了收益。把视频解说上传到小程序,设置为广告观看,这样引导用户去小程序看,就产生一个广告…

配置鼠标右键菜单功能 :一键csv转excel

配置右键菜单功能 :一键csv转excel 无需点开文件,双击即可以生成新的excel文件 步骤: 1、配置Python,安装依赖库 pip install openpyxl pip install pandas2、创建Python文件 csv_to_excel.py # -*- coding:utf-8 -*- impor…

基于Java+SSM+Vue的高校校园点餐系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

2023年城市分站系统源码采用php语言

系统源码介绍: 本系统采用了php语言,根据现有了城市分布,包含了省市区,划分,具备了高级少选功能,按照每个市级城市为分站点,和主站点同样的模式。 安装方法: 快速创建几百个城市分…

Redis 事务与数据持久化

目录 一、Redis 事务 1.1 事务本质 1.2 数据库事务与redis事务 1.2.1 数据库事务 1.2.2 Redis事务 1.2.2.1 两种错误不同处理方式 1)代码语法错误(编译时异常) 2)代码逻辑错误(运行时错误) 1.2.2.2 这种做…

HPM6750系列--第三篇 搭建MACOS编译和调试环境

一、目的 在上一篇《HPM6750系列--第二篇 搭建Ubuntu开发环境》我们介绍了Ubuntu上开发HPM6750,本篇主要介绍MAC系统上的开发环境的搭建过程,整个过程和Ubuntu上基本类似。 二、准备 首先我们在Mac电脑上打开一个terminal,然后创建一个…