精华内容
下载资源
问答
  • -Openstack网络组件的发展历程-Neutron的结构-NeutronServer的结构-Neutron的配置Openstack在2010年正式发布它的第一个版本Austin的时候,nova-network作为它的核心组件被包含其中。nova-network的功能主要有:IP...
  • Neutron探讨 -- Openstack网络组件

    千次阅读 2014-01-23 16:09:48
    在讲Neutron之前,我们先来看看Openstack网络组件的发展历程。 1. nova-network Openstack在2010年正式发布它的第一个版本Austin的时候,nova-network作为它的核心组件被包含其中。nova-network的功能主要有: - IP...

    转载请注明出处 - 阿Q

    v1.0 //2014/1/23


    本文将会涵盖如下几个部分:

    - Openstack网络组件的发展历程

    - Neutron的结构

    - Neutron Server的结构

    - Neutron的配置


    1 Openstack网络组件的发展历程

    1.1 nova-network

    Openstack在2010年正式发布它的第一个版本Austin的时候,nova-network作为它的核心组件被包含其中。nova-network的功能主要有:

    • IP地址分配 包含为虚拟主机分配私有(固定)和浮动IP地址。
    • 网络模型与管理 提供了虚拟网络使虚拟主机之间以及与外部网络通信。网络模型分为以下三种。这三种模型可以共存在一个云系统中,但是在一个计算节点上只能配备一种模型。
      • 扁平网络 (Flat Network):在创建虚拟主机时,nova-network会从指定子网中取一个空闲IP并将它写入此虚拟主机的配置文件。在一个子网内的虚拟主机可以通过创建Linux桥实现互通。
      • 带DHCP功能的扁平网络 (Flat DHCP Network):顾名思义,此种模式相对于扁平网络加入了DHCP功能。在创建虚拟主机时,nova-network会在指定的子网中为此虚拟主机分配IP和物理地址,并将这些信息告知DHCP服务器(默认是dnsmasq)。DHCP服务器会监听虚拟主机所在的桥。当有虚拟主机启动时,会自动从DHCP服务器获得IP。可以看到DHCP服务器只是按照nova-network给定的列表(IP和物理地址)分发IP,如何分配还是nova-network说了算。
      • VLAN网络 (VLAN Network):这是nova-network的默认模型。针对每个项目(Project,如今Openstack把项目改称租户 -- Tenant),都会对应一个vlan。每个项目里的私有IP地址只能在本项目的vlan里访问。与项目对应的vlan需要子网,这个子网是由管理员动态分配给项目的。与带DHCP功能的扁平网络类似,子网内的IP地址也是通过DHCP服务器分发的。所有在一个子网内的虚拟主机都通过网桥互通。
    • 安全控制 主要通过ebtables和iptables来实现。

    1.2 Quantum

    Quantum是随Openstack的Folsom版本正式发布的,其实它已经作为试用组件包含在之前的Essex版本中。在Grizzly里功能得到了增强。

    为什么引入Quantum?答案非常简单,Quantum功能更强大,满足更多需求。下面列几条主要功能。

    - 提供面向租户的API,以便控制2层网络和管理IP地址

    - 支持插件式网络组件,像Open vSwitch,Cisco,Linux Bridge,Nicira NVP等等

    - 支持位于不同的2层网络的IP地址重叠

    - 支持基本的3层转发和多路由器

    - 支持隧道技术(Tunneling)

    - 支持3层代理和DHCP代理的多节点部署,增强了扩展性和可靠性

    - 提供负载均衡API (试用版本)

    1.3 Neutron

    因为商标侵权的原因,Openstack在Havana版本上将Quantum更名为Neutron,所以Neutron并不是什么新的东西。在Havana版里,Neutron也只增加和增强了少数功能。

    - 提供稳定的负载均衡API

    - 支持端到端的IPSec VPN

    - 面向租户的防火墙服务

    - 提供一个新的插件ML2,这个插件可以作为一个框架同时支持不同的2层网络


    现在很多已部署的Openstack云还在继续使用nova-network,因为它简单,稳定,尤其是多节点部署的可扩展性和可靠性让人不愿割舍。但是我们必须考虑往Neutron上迁移了,最新版Icehouse(还未发布)中的nova-network将会被列为过期组件,虽然系统还支持,但不建议使用了。

    接下来我们一起来看看Neutron,本人精力在咨询、架构和部署,所以对源码实现我们不会涉及。

    2 Neutron的结构

    Openstack的设计理念是把所有的组件当做服务来注册的。 Neutron就是网络服务。它将网络、子网、端口和路由器抽象化,之后启动的虚拟主机就可以连接到这个虚拟网络上,最大的好处是这些都可视化的在Horizon里得到了实现,部署或者改变一个SDN变得非常简单,没有专业知识的人稍经培训也可以做到。


    我们先通过如下一个简单的流程来了解客户机如何连接到网络上。

    - 租户创建了一个网络,比方说mynet

    - 租户为此网络分配一个子网,比如192.168.122.0/24

    - 租户启动一个客户机,并指明一个网口连接到mynet

    - Nova通知Neutron并在mynet上创建一个端口,如port1

    - Neutron选择并分配一个IP给port1

    - 客户机通过port1就连接到了mynet上


    Neutron主要有以下几部分组成。

    • Neutron Server 这一部分包含守护进程neutron-server和各种插件neutron-*-plugin,它们既可以安装在控制节点也可以安装在网络节点。neutron-server提供API接口,并把对API的调用请求传给已经配置好的插件进行后续处理。插件需要访问数据库来维护各种配置数据和对应关系,例如路由器、网络、子网、端口、浮动IP、安全组等等。
    • 插件代理 (Plugin Agent) 虚拟网络上的数据包的处理则是由这些插件代理来完成的。名字为neutron-*-agent。在每个计算节点和网络节点上运行。一般来说你选择了什么插件,就需要选择相应的代理。代理与Neutron Server及其插件的交互就通过消息队列来支持。
    • DHCP代理(DHCP Agent) 名字为neutron-dhcp-agent,为各个租户网络提供DHCP服务,部署在网络节点上,各个插件也是使用这一个代理。
    • 3层代理 (L3 Agent) 名字为neutron-l3-agent, 为客户机访问外部网络提供3层转发服务。也部署在网络节点上。

    下面这张图取自官网,很好的反映了Neutron内部各部分之间的关系。(SDN服务在这里是额外的外部功能,可以暂时略过。)


    3 Neutron Server的结构

    下面我们来细看一下Neutron Server的结构。



    这张图中我们只看Quantum-common和Quantum Plugin部分,其实就是Neutron Server。

    上面我们已提到,Neutron最重要的就是两部分:API和插件

    3.1 API

    API又分为两个部分。

    • API Core:暂且称之为API核。它可以看做是插件功能的最小集合,即每个插件都必须有的功能,也就是对网络、子网和端口的查询、加删和更新操作等。
    • API Extensions:暂称之为API扩展。它们一般是针对具体插件实现的,这样租户就可以利用这些插件独特的功能,比方说访问控制(ACL)和QoS。

    需要提一下的是,现在API核具备的功能还都很简单,随着Neturon的不断成熟,它可能就会纳入一些API扩展中的功能。

    当然API部分也负责Neutron服务的启动、客户请求和相应回复的打包和派发以及验证数据格式及其正确性。也有一些安全和稳定机制,比方说对API请求的限制以防止DOS攻击来保证服务在大负载下的可用性。

    至于验证和授权功能,相信大家都已了解,就是与Keystone结合,进行用户或租户级的使用控制。

    3.2 插件

    下面我们再来看一下插件。

    从功能上说,插件一般有以下内容。

    - 存储当前逻辑网络的配置信息,这就需要一个数据库,比方说MySQL

    - 判断和存储逻辑网络和物理网络的对应关系,比方说为一个逻辑网络选择一个vlan

    - 与一种或多种交换机通信来实现这种对应关系。这一般通过宿主机上的插件代理来实现这种操作,或者远程登录到交换机上来配置。

    以Open vSwitch为例,下面列出了插件需要访问的数据表。

    +---------------------------+
    | Tables_in_neutron         |
    +---------------------------+
    | agents                    |
    | allowedaddresspairs       |
    | dnsnameservers            |
    | externalnetworks          |
    | extradhcpopts             |
    | floatingips               |
    | ipallocationpools         |
    | ipallocations             |
    | ipavailabilityranges      |
    | networkdhcpagentbindings  |
    | networks                  |
    | ovs_network_bindings      |
    | ovs_tunnel_allocations    |
    | ovs_tunnel_endpoints      |
    | ovs_vlan_allocations      |
    | portbindingports          |
    | ports                     |
    | quotas                    |
    | routerl3agentbindings     |
    | routerroutes              |
    | routers                   |
    | securitygroupportbindings |
    | securitygrouprules        |
    | securitygroups            |
    | subnetroutes              |
    | subnets                   |
    +---------------------------+

    4 Neutron的配置

    Neutron的配置应该说是比Openstack的其他组件复杂一点。

    常用的配置模型有两种,

    •  把Neutron Server放在控制节点上,DHCP和L3代理放在网络节点上,可参考一下官图。


    •  把Neutron的所有部分放在单独的网络节点上。这种方式就是把上图部署在控制节点中的neutron-server放到网络节点上。
    因为网络配置不像网络使用那么频繁,所以通常建议使用第一种方案,没有必要单独把neutron-server拿出来。因为neutron-server是可单独部署的,我们就拿第二种方案作为例子。
    系统使用ubuntu12.04,软件的安装我们就不说了,这里我们采用Open vSwitch插件。(针对虚拟交换机Open vSwitch,Neutron建议是使用ML2插件的,但这里我们为了加深对插件和插件代理的理解,还是沿用了OpenvSwitch插件)。

    4.1 计算节点的配置

    安装完软件包以后,计算节点应该就有OpenvSwitch的代理在运行,使用ps命令可以看到如下进程。
    /usr/bin/python /usr/bin/neutron-openvswitch-agent --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
    这里我们可以看到代理读取了2个配置文件。

    neutron.conf主要需要设置如下几项:
    core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2	//插件类型
    auth_strategy = keystone	// 授权方式
    rabbit_host = 192.168.122.1	//处理消息队列的主机地址
    [keystone_authtoken]	//keystone信息,这里只是我的例子信息
    auth_host = 192.168.122.1
    auth_port = 35357
    auth_protocol = http
    admin_tenant_name = service
    admin_user = neutron
    admin_password = neutron
    auth_url = http://192.168.122.1:35357/v2.0
    connection = mysql://neutron:neutron@192.168.122.100/neutron	//DB信息

    neutron.conf会默认包含另一个配置文件api-paste.ini,对它只需添加keystone信息。
    auth_host=192.168.122.1
    admin_user=neutron
    admin_tenant_name=service
    admin_password=neutron

    ovs_neutron_plugin.init主要需要设置以下几项,以vlan为例:
    tenant_network_type = vlan	//网络类型,例如vlan,gre
    network_vlan_ranges = physnet1:1000:2999	//vlanID
    bridge_mappings = physnet1:br-int	//用于计算节点上客户机内部网络的网桥
    firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

    4.2 网络节点的配置

    安装完软件后,网络节点应该会有如下进程在运行。
    /usr/bin/python /usr/bin/neutron-dhcp-agent --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/dhcp_agent.ini
    /usr/bin/python /usr/bin/neutron-metadata-agent --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/metadata_agent.ini
    /usr/bin/python /usr/bin/neutron-l3-agent --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/l3_agent.ini
    /usr/bin/python /usr/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
    /usr/bin/python /usr/bin/neutron-openvswitch-agent --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
    你会看到每个部分会用到哪个配置文件。

    neutron.conf和api-paste.ini的配置与计算节点上是一样的。

    dhcp_agent.ini的主要设置以下几项。看内容可理解其意义。
    interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
    dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq

    metadata_agent.ini的设置主要是keystone相关的。
    auth_url = http://192.168.122.1:5000/v2.0
    auth_region = regionOne
    admin_tenant_name = service
    admin_user = neutron
    admin_password = neutron
    nova_metadata_ip = 192.168.122.1
    metadata_proxy_shared_secret = meta	//proxy的密码,个人设置

    l3_agent.init的设置。
    interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver

    ovs_neutron_plugin.ini的配置和计算节点上的一样。

    4.3 节点上OVS的配置

    计算节点和网络节点的NIC配置非常相似,我们都是用第二个NIC(eth1)作为内部网络的通讯。以网络节点为例。eth1不能设置IP地址,而是把IP地址给虚拟桥。
    auto eth1
    iface eth1 inet manual
            up ifconfig $IFACE 0.0.0.0 up
            down ip link set $IFACE down
    auto br-int 
    iface br-int inet static
            address 10.100.1.2
            netmask 255.255.255.0

    OVS中把eth1放到虚拟桥上。
        Bridge br-int
            Port "eth1"
                Interface "eth1"
            Port br-int
                Interface br-int
                    type: internal
    

    5 结束语

    Neutron是openstack的方向,我们有必要花点时间研究一下它。目前对它的担心还是有的,比方说稳定性、可用性,还有性能(以后有机会探讨),但它的灵活性、多功能性是无可比拟的。

    因为工作原因,断断续续花了很长时间写这篇博客,只为抛砖引玉,内容也有不全面和错误的地方,希望与大家交流。






    展开全文
  • OpenStack网络组件Neutron

    2019-07-22 15:57:10
    nova-network是openStack的核心组件。功能如下: 1、IP地址分配:虚拟主机分配私有(固定)和浮动IP地址 2、网络模型与管理:虚拟网络使虚拟主机之间以及与外部网络通信。 3、安全控制:通过ebtables和iptables来实....

    https://blog.csdn.net/weixin_41709748/article/details/83117675

    nova-network
    nova-network是openStack的核心组件。功能如下:
    1、IP地址分配:虚拟主机分配私有(固定)和浮动IP地址
    2、网络模型与管理:虚拟网络使虚拟主机之间以及与外部网络通信。
    3、安全控制:通过ebtables和iptables来实现

    网络模型分为三种:
    1、扁平网络 (Flat Network):在创建虚拟主机时,nova-network会从指定子网中取一个空闲IP并将它写入此虚拟主机的配置文件。在一个子网内的虚拟主机可以通过创建Linux桥实现互通。
    2、带DHCP功能的扁平网络 (Flat DHCP Network):在创建虚拟主机时,nova-network会在指定的子网中为此虚拟主机分配IP和物理地址,并将这些信息告知DHCP服务器(默认是dnsmasq)DHCP服务器会监听虚拟主机所在的桥。当有虚拟主机启动时,会自动从DHCP服务器获得IP。可以看到DHCP服务器只是按照nova-network给定的列表(IP和物理地址)分发IP,如何分配还是nova-network说了算。
    3、VLAN网络 (VLAN Network):这是nova-network的默认模型。每个项目里的私有IP地址只能在本项目的vlan里访问。与项目对应的vlan需要子网,这个子网是由管理员动态分配给项目的。与带DHCP功能的扁平网络类似,子网内的IP地址也是通过DHCP服务器分发的。所有在一个子网内的虚拟主机都通过网桥互通。

    Openstack的设计理念是把所有的组件当做服务来注册的。
    Neutron就是网络服务。它将网络、子网、端口和路由器抽象化,之后启动的虚拟主机就可以连接到这个虚拟网络上,最大的好处是这些都可视化的在Horizon里得到了实现,部署或者改变一个SDN变得非常简单

    Neutron主要有以下四部分组成。
    1)Neutron Server
    分包含守护进程neutron-server和各种插件neutron--plugin,它们既可以安装在控制节点也可以安装在网络节点。neutron-server提供API接口,并把对API的调用请求传给已经配置好的插件进行后续处理。插件需要访问数据库来维护各种配置数据和对应关系,例如路由器、网络、子网、端口、浮动IP、安全组等等
    2)插件代理 (Plugin Agent):
    虚拟网络上的数据包的处理则是由这些插件代理来完成的。名字为neutron--agent。在每个计算节点和网络节点上运行。一般来说你选择了什么插件,就需要选择相应的代理。代理与Neutron Server及其插件的交互就通过消息队列来支持。
    3)DHCP代理(DHCP Agent):
    名字为neutron-dhcp-agent,为各个租户网络提供DHCP服务,部署在网络节点上,各个插件也是使用这一个代理。
    4)3层代理 (L3 Agent): 名字为neutron-l3-agent,
    为客户机访问外部网络提供3层转发服务。也部署在网络节点上。

    Neutron最重要的就是两部分:API和插件。

    API又分为两个部分。
    API Core:暂且称之为API核。它可以看做是插件功能的最小集合,即每个插件都必须有的功能,也就是对网络、子网和端口的查询、加删和更新操作等。

    API Extensions:暂称之为API扩展。它们一般是针对具体插件实现的,这样租户就可以利用这些插件独特的功能,比方说访问控制(ACL)和QoS。

    插件:
    存储当前逻辑网络的配置信息,这就需要一个数据库,比方说MySQL
    判断和存储逻辑网络和物理网络的对应关系,比方说为一个逻辑网络选择一个vlan
    与一种或多种交换机通信来实现这种对应关系。这一般通过宿主机上的插件代理来实现这种操作,或者远程登录到交换机上来配置。
    --------------------- 
    作者:weixin_41709748 
    来源:CSDN 
    原文:https://blog.csdn.net/weixin_41709748/article/details/83117675 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • OpenStack核心组件

    2021-01-29 10:05:20
    目录OpenStack简介OpenStack服务组件OpenStack组件详解OpenStack架构概念 OpenStack简介 OpenStack服务组件 服务 组件 描述 Compute(计算服务) Nova 负责实例生命周期的管理,计算资源的单位。对Hypervisor...

    OpenStack简介

    OpenStack架构概念

    在这里插入图片描述
    全局组件

    Keystone:为所有服务模块提供认证与授权
    Ceilometer:度量、监控所有数据资源
    Horizon:UI平台管理,提供一个Web管理页面,为底层交互

    外部(辅助)组件

    Ironic:提供裸金属环境(没有操作系统的计算机硬件,简称裸机)
    Trove:提供管理数据库服务(控制关系型和非关系型数据库)
    heat、sahara:提供对数据管理和编排

    核心组件

    Glance:提供镜像服务
    Neutron:提供网络服务
    Swift:提供对象存储资源
    Cinder:提供块存储资源
    Nova:管理实例的生命周期,并负责管理调用上面的四个资源给虚拟机使用

    OpenStack服务组件

    服务组件描述
    Compute(计算服务)Nova负责实例生命周期的管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KVM),支持横向扩展
    Network(网络服务)Neutron负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响
    Identity (身份认证服务)Keystone类似于LDAP服务,对用户、租户和角色、服务进行认证与授权,且支持多认证机制
    Dashboard(控制面板服务)Horizon提供一个Web管理界面,与OpenStack底层服务进行交互
    Image Service(镜像服务)Glance提供虚拟机镜像模板的注册与管理,将做好的操作系统拷贝为镜像模板,在创建虚拟机时直接使用,可支持多格式的镜像
    Block Storage(块存储服务)Cinder负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储
    Object Storage(对象存储服务)Swift为OpenStack提供基于云的弹性存储,支持集群无单点故障(对象存储服务)
    Telemetry(计量服务)Ceilometer用于度量、监控和控制数据资源的集中来源,为OpenStack用户提供记账途径

    OpenStack组件详解

    1. Nova(负责生命周期管理)
      Nova管理的是所有的虚拟化资源,可以把虚拟化资源拿过来给虚拟机使用,从而让虚拟机正常运行,它调用的对象就是支撑实例运行的资源基础,所有它可以管理实例的生命周期,Nova还可以通过多种不同的驱动,来支持多种不同的虚拟化技术,来达到横向扩展,达到一个通用性
    2. Neutron(负责虚拟网络的管理)
      就相当于连接内外网,可以让实例与外界相同,对一部分的资源的一个租令,从而自已定义分配资源,与其他租户之间互不影响
    3. Keystone(全局组件)
      主要用于OpenStack中的所有组件之间相互交互、对接的认证机制,可以对用户等进行认证与授权
    4. Horizon (提供UI)
      给使用者提供一个清晰的管理界面,在控制台选择好自已需求的规格,然后进行创建控制台会把我们的需求,传递给OpenStack底层从而对我们的需求进行创建
    5. Glance(镜像模板)
      提供虚拟机镜像模板的注册与管理,如搭建一个负载均衡架构,封装为一个镜像,这个镜像就相当于一个负载均衡架构模板,只需要下载这个镜像,就可以供给多个用户使用,然后用这个镜像去创建虚拟机,创建出来的就是负载均衡架构的操作系统
    6. Cinder(块存储)
      负责为运行实例提供持久的块存储设备,可以方便的扩展,按需付费,因为它不只是为一个用户提供服务是为多个用户提供,所以它支持的是多种后端存储类型
    7. Swift(对象存储)
      为OpenStack提供基于云的弹性存储,支持集群无单点故障,它其实就是键值对的存储,存储的资源就是一些静态资源,它不能再对象存储中的内部直接修改源文件,而是需要下载下来才可以修改,然后在推送上去已做更新
    8. Ceilometer(度量,监控)
      用于管理用户对资源的租期管理,为用户提供记账途径

    OpenStack组件通信关系

    1. 基于AMQP协议的通信:用于每个项目内部各个组件之间的通信
    2. 基于SQL的通信:用于各个项目内部的数据库通信
    3. 基于HTTP协议进行通信:通过各项目的API建立的通信关系,API都是RESTful Web API
    4. 通过Native API实现通信:OpenStack各组件和第三方软硬件之间的通信
    展开全文
  • 文章目录一、openstack组件部署顺序二 组件部署创建数据库和对用户授权配置httpd apache mod_wsgi初始化数据库初始化fernet密钥数据库配置bootstrap身份认证服务创建配置文件配置管理员得环境变量创建openstack域 ...


    一、openstack组件部署顺序

    1、Keystone (apache) 全局安全认证
    2、glance 提供镜像服务
    3、nova 提供计算服务
    4、neutron 提供网络服务

    部署openstack组件时,需先行安装认证服务(keystone),而认证服务是使用Apache运行的,安装完成后才可以创建、管理账号,然后安装镜像服务(glance)、计算服务(nova)、网络服务(neutron)

    其中计算服务和网络服务分为管理端和客户端,所以需要在openstack的管理端安装计算服务和网络服务的管理端,在创建虚拟机的node节点上安装计算服务和网络服务的客户端,最后安装dashboard服务,openstack各种组件的API都是通过apache运行的;

    openstack的管理端负责创建、管理虚拟机过程的调度

    通过openstack管理端创建虚拟机的相关数据最终都会记录到mysql(mariadb)中;node节点没有权限往数据库中写数据,只有控制端有权限,并且node节点与控制端通讯是通过rabbitmq间接通讯,node节点会监听rabbitmq,控制端也会监听rabbitmq,控制端把创建虚拟机的指令发送到rabbitmq,由监听rabbitmq指定队列的node节点接收消息并创建虚拟机;

    二 组件部署

    创建数据库和对用户授权

    create database keystone;
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'yy2234';
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'yy2234';
    flush privileges;
    exit
    

    在这里插入图片描述

    配置httpd apache mod_wsgi

    mod_wsgi让apache能够代理python程序的组件

    yum -y install openstack-keystone httpd mod_wsgi
    cp -a /etc/keystone/keystone.conf{,.bak}
    grep -Ev "^$|#" /etc/keystone/keystone.conf.bak > /etc/keystone/keystone.conf
    openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:KEYSTONE_2234797257@ct/keystone   通过pymysql模块访问mysql,指定用户名密码、数据库的域名、数据库名
    openstack-config --set /etc/keystone/keystone.conf token provider fernet 指定token的提供者;提供者就是keystone自己本身   Fernet:一种安全的消息传递格式
    

    在这里插入图片描述
    在这里插入图片描述

    初始化数据库

    su -s /bin/sh -c "keystone-manage db_sync" keystone
    

    在这里插入图片描述

    初始化fernet密钥数据库

    keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    用keystone用户采用fernet加密方式
    

    在这里插入图片描述

    配置bootstrap身份认证服务

    keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
    --bootstrap-admin-url http://ct:5000/v3/ \
    --bootstrap-internal-url http://ct:5000/v3/ \
    --bootstrap-public-url http://ct:5000/v3/ \
    --bootstrap-region-id RegionOne
    

    在这里插入图片描述
    初始化openstack,会把openstack的admin用户的信息写入到mysql的user表中,以及url等其他信息写入到mysql的相关表中;
    #admin-url是管理网(如公有云内部openstack管理网络),用于管理虚拟机的扩容或删除;如果共有网络和管理网是一个网络,则当业务量大时,会造成无法通过openstack的控制端扩容虚拟机,所以需要一个管理网;
    #internal-url是内部网络,进行数据传输,如虚拟机访问存储和数据库、zookeeper等中间件,这个网络是不能被外网访问的,只能用于企业内部访问
    #public-url是共有网络,可以给用户访问的(如公有云) #但是此环境没有这些网络,则公用同一个网络
    #5000端口是keystone提供认证的端口
    以下部分指的是openstack多节点的配置
    #需要在haproxy服务器上添加一条listen
    #各种网络的url需要指定controler节点的域名,一般是haproxy的vip的域名(高可用模式)

    echo "ServerName controller" >> /etc/httpd/conf/httpd.conf  配置http服务器
    

    在这里插入图片描述

    创建配置文件

    ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/  创建软连接到apache目录下
    systemctl enable httpd  开机自启
    systemctl start httpd   开启服务
    

    在这里插入图片描述

    配置管理员得环境变量

    环境变量用于创建角色和项目使用,但是创建角色和项目需要有认证信息,所以通过环境变量声明用户名和密码等认证信息,欺骗openstack已经登录且通过认证,这样就可以创建项目和角色;也就是把admin用户的验证信息通过声明环境变量的方式传递给openstack进行验证,实现针对openstack的非交互式操作

    cat >> ~/.bashrc << EOF
    export OS_USERNAME=admin
    export OS_PASSWORD=ADMIN_PASS
    export OS_PROJECT_NAME=admin
    export OS_USER_DOMAIN_NAME=Default
    export OS_PROJECT_DOMAIN_NAME=Default
    export OS_AUTH_URL=http://ct:5000/v3
    export OS_IDENTITY_API_VERSION=3
    export OS_IMAGE_API_VERSION=2
    EOF
    source ~/.bashrc
    通过配置环境变量,可以使用openstack命令进行一些操作
    openstack user list  检查列表
    

    在这里插入图片描述

    创建openstack域 项目 用户

    openstack project create --domain default --description "Service Project" service 
    

    在这里插入图片描述

    创建用户

    openstack role create user   创建用户
    openstack role list  查看列表
    openstack token issue  检查列表项目是否创建成功
    

    在这里插入图片描述
    在这里插入图片描述

    报错

    查看列表 显示http500
    在这里插入图片描述
    原因:数据库指向错误 hosts文件映射成NET网卡 应该映射内网网卡 先检查网络配置 再检查环境配置 检查指向是否错误

    展开全文
  • OpenStack社区组件-网络和内容发布

    万次阅读 2017-09-20 10:49:43
    OpenStack发展到今天,从最开始的A版开始,到2017年8月份刚... 下面我们看看网络和内容发布类组件: 网络和内容发布类组件包含7个OpenStack项目,分别是NEUTRON、DESIGNATE、DRAGONFLOW、KURYR、OCTAVIA、TACKER、
  • OpenStack 功能组件

    2021-01-26 15:22:38
    文章目录OpenStack 主要功能组件表示层 Presentation逻辑控制层 Logic Control资源管理 Resources集成层 Integration管理层 ManagementHorizon -- UI服务Keystone -- 身份服务Nova -- 计算服务Glance -- 镜像服务...
  • OpenStack架构组件简介

    2019-10-05 15:00:09
    OpenStack架构组件简介 1.认证服务的KeyStone组件: 身份服务 2.管理用户,租户,角色,服务和服务端点 可以支持SQL、PAM、LDAP作为后端 3.计算服务的Nova组件: 组织控制器,KVM,API 4.镜像服务的Glance...
  • OpenStack 基本组件

    2017-11-23 16:04:01
    OpenStack 三大核心组件网络,计算,存储) 1.Horizon (UI模块) 控制台,又名Dashboard web展示界面操作平台,方便用户交互的 2.keystone(身份服务模块) 1)用户身份认证(Idemity) user...
  • OpenStack组件

    2018-01-15 22:01:00
    OpenStack组件:  Compute:代码名nova,管理VM的整个生命周期,主要职责包括启动,调度VMs。  Networking:代码名Netron(早期名叫Quantum,)为openstack提供NCaas的功能,插件化设计,支持众多流行的网络...
  • openstack组件关系

    千次阅读 2019-03-13 10:58:26
    openstack组件关系Keystone(身份认证)Nova(计算)Neutron(网络)Glance(镜像存储)Cinder(块存储)Swift(对象存储)Horizon(web UI界面)Ceilometer(计量)Heat(部署编排)Trove(数据库) Keystone...
  • 可以用一个人和他的四肢、驱赶、大脑等的关系去理解openstack组件的关系,每个组件各司其职,针对不同功能提供不同的管理API,都在容器内运行,而且都是REST服务,每个组件都有自己的元数据库(mysql),..
  • openstack主要组件

    千次阅读 2018-09-19 09:35:57
    三大核心组件 Nova:Compute,Neutron:Networking,Swift:Storage OpenStack Compute Nova是云计算环境中的主要控制器,主要采用Python语言编写。 使用目前成熟的虚拟化技术(KVM,XenServer)来管理和自动化...
  • openstack核心组件及运行流程OpenStack的核心组件拓展openstack架构OpenStack 概念架构具体流程详细解释一下openstack运行流程(每一步完成后去验证的过程省略了)OpenStack 逻辑架构OpenStack组件通信关系: ...
  • Openstack核心组件

    2019-04-08 09:26:17
    Compute(计算), Object Storage(对象存储)...Network(网络) , Image Service(镜像服务) “Compute”类似计算的内存; ”Object Storage“类似存储器; “Identity”就像登陆过程中,验证用户名和密码; “Dashboar...
  • OpenStack 核心组件部署

    2020-12-16 17:01:26
    部署openstack组件时,需要先安装认证服务(keystone),认证服务是使用apache来运行的,安装完成后才可以创建并管理账号,以及后续的安装镜像(glance)、计算服务(nova)、网络服务(neutron)。 nova和neutron...
  • OpenStack主要组件

    2021-04-04 17:51:35
    openstack简介: 形象的比喻,比如我们现在使用各种电脑观看视频。 我是使用的macbook pro, 他是使用的华硕笔记本,他是使用的台式电脑。我的mac上面的系统是mac os,他是windows。 我们的输入设备键盘等的作用,是...
  • OpenStack服务2.1 8个核心服务2.2 8个核心组件2.3 组件的详细解释2.3.1 Nova(核心组件)(负责生命周期管理)2.3.2 Neutron(负责虚拟网络的管理)2.3.3 Keystone(全局组件)2.3.4 Horizon(Ui页面)2.3.5 Glance...
  • openstack主要组件详解与介绍

    千次阅读 2020-06-03 16:50:44
    openstack主要组件详解与介绍 Openstack是目前最流行的开源云操作系统,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有...
  • openstack组件

    2013-05-06 10:56:37
    OpenStack目前有7个核心组件:Compute(计算), Object Storage(对象存储),Identity(身份认证),Dashboard(仪表盘), Block Storage(块存储), Network(网络) 和 Image Service(镜像服务) 。下面将依次进行解释: ...
  • OpenStack主要组件及其作用

    万次阅读 多人点赞 2018-12-25 22:31:20
    文章大部分来自于OpenStack官方文档。部分来自于网络 ...OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单...
  • 2.OpenStack:是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。 二.Openstack组件 共享服务组件(6个): ...
  • OpenStack核心组件介绍 服务 项目名称 描述 Compute(计算服务) Nova 负责实例生命周期的管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KVM),支持横向扩展 Network(网络服务...
  • Openstack组件服务功能介绍

    千次阅读 2017-12-20 22:04:22
    服务功能:为所有的OpenStack组件提供认证和访问策略服务 相当于:计算机的用户认证,需要有合法的身份才能操作各个组件 计算服务 服务名称:nova 创建项目时名称:compute 服务功能:实例生命周期管理、计算...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,349
精华内容 6,139
关键字:

openstack网络组件