openstack-修改管理员密码与建立外部网路

1、keystone服务概念html

服务

Keystone被组织为在一个或多个端点上公开的一组内部服务。其中许多服务由前端以组合方式使用。例如,身份验证调用将使用Identity服务验证用户/项目凭据,并在成功时建立并返回带有令牌服务的令牌。前端

身份

Identity服务提供身份验证凭据验证以及有关用户 和组的数据。在基本状况下,此数据由Identity服务管理,容许它还处理与此数据关联的全部CRUD操做。在更复杂的状况下,数据由权威后端服务管理。例如,身份服务充当LDAP的前端。在这种状况下,LDAP服务器是真实的来源,身份服务的做用是准确地传递该信息。linux

用户

Users表示单个API使用者。用户自己必须由特定域拥有,所以全部用户名不是全局惟一的,而是仅对其域惟一。数据库

Groups是表示用户集合的容器。组自己必须由特定域拥有,所以全部组名称不是 全局惟一的,而是仅对其域惟一。后端

资源

资源服务提供有关项目域的数据。安全

项目

Projects表明ownershipOpenStack 的基本单元,由于OpenStack中的全部资源都应归特定项目全部。项目自己必须由特定域拥有,所以全部项目名称不是 全局惟一的,但对于其域是惟一的。若是未指定项目的域,则将其添加到默认域。bash

Domains是项目,用户和组的高级容器。每一个都归一个域全部。每一个域定义一个名称空间,其中存在API可见的名称属性。Keystone提供了一个默认域名,名称为“默认”。服务器

在Identity v3 API中,属性的惟一性以下:网络

  • 域名。全部领域的全球独特性。架构

  • 角色名称。在拥有的域内独一无二。

  • 用户名。在拥有的域内独一无二。

  • 项目名。在拥有的域内独一无二。

  • 团队名字。在拥有的域内独一无二。

因为其容器架构,域能够用做委派OpenStack资源管理的方式。若是授予适当的分配,则域中的用户仍能够访问另外一个域中的资源。

做业

Assignment服务提供有关角色角色分配的数据

角色

Roles规定最终用户能够得到的受权级别。角色能够在域或项目级别授予。能够在单个用户或组级别分配角色。角色名称在拥有域中是惟一的。

角色分配

一个3元组,有一个Role,一个Resource和一个Identity。

令牌

一旦用户的凭证已通过验证,令牌服务就会验证和管理用于验证请求的令牌。


2、登录并修改openstack管理员密码


在完成openstack搭建后,按照http://serverip/dashboard/ 登录,登录提示会须要admin管理员帐户密码。默认密码保存在keystonerc_admin 文件

cat keystonerc_admin

image.png

export OS_PASSWORD后面就是默认密码,后进入dashboard界面登录

image.png

登录进去后,能够在设置修改管理员密码

image.png

完成后,同时要修改 keystonerc_admin文件中export OS_PASSWORD后密码,而后按照以下命令配置生效

source keystonerc_admin     #从新加载

注意,admin用户是管理员,能够拥有整个资源的权限,默认分配到admin的项目组中,因此在管理界面修改完成管理员密码后必须修改keystonetc_admin的文件的中的密码,否则会致使其余组件服务认证失败


3、建立项目与用户

3.1建立项目


 首先建立一个项目,在身份管理中点击项目

image.png

建立项目名称为test-cloud,域信息和域ID由于是测试环境,都保持默认

image.png



项目成员为登录云服务的租户名称,能够后期添加,目前保持默认,配额是限制该项目资源的使用,测试环境下保持默认便可

image.png

点击完成建立,便可建立好项目test_cloud,能够做为vdc(虚拟数据中心)提供给租户使用


3.2建立用户


    为test_cloud建立一个管理员,负责分配资源,名称为vdc_admin。在身份验证-用户中建立,以下所示:

image.png


说明:

一、选择项目test_cloud表明使用此资源

二、选择角色_member_


而后再以vdc_admin登录openstack,能够看到可获取的资源的明显不一样

image.png


4、建立外部网络

4.1 openstack中网络概念


在openstack中,全部的网络服务都是由neutron实现。openstack官方对neutron中描述以下:

OpenStack网络(neutron)管理OpenStack环境中全部虚拟网络基础设施(VNI),物理网络基础设施(PNI)的接入层。OpenStack网络容许租户建立包括像 firewall, :term:`load balancer`和 :term:`virtual private network (×××)`等这样的高级虚拟网络拓扑。

网络服务提供网络,子网以及路由这些对象的抽象概念。每一个抽象概念都有本身的功能,能够模拟对应的物理设备:网络包括子网,路由在不一样的子网和网络间进行路由转发。

对于任意一个给定的网络都必须包含至少一个外部网络。不像其余的网络那样,外部网络不只仅是一个定义的虚拟网络。相反,它表明了一种OpenStack安装以外的能从物理的,外部的网络访问的视图。外部网络上的IP地址可供外部网络上的任意的物理设备所访问

外部网络以外,任何 Networking 设置拥有一个或多个内部网络。这些软件定义的网络直接链接到虚拟机。仅仅在给定网络上的虚拟机,或那些在经过接口链接到相近路由的子网上的虚拟机,能直接访问链接到那个网络上的虚拟机。

若是外部网络想要访问实例或者相反实例想要访问外部网络,那么网络之间的路由就是必要的了。每个路由都配有一个网关用于链接到外部网络,以及一个或多个链接到内部网络的接口。就像一个物理路由同样,子网能够访问同一个路由上其余子网中的机器,而且机器也能够访问路由的网关访问外部网络。

另外,你能够将外部网络的IP地址分配给内部网络的端口。无论何时一旦有链接链接到子网,那个链接被称做端口。你能够给实例的端口分配外部网络的IP地址。经过这种方式,外部网络上的实体能够访问实例.

neutron利用了linux重要网络技术,相关概念以下:

bridge:网桥,Linux中用于表示一个能链接不一样网络设备的虚拟设备,linux中

传统实现的网桥相似一个hub设备,而ovs管理的网桥通常相似交换机。

br-int:bridge-integration,综合网桥,经常使用于表示实现主要内部网络功能的网

桥。

br-ex:bridge-external,外部网桥,一般表示负责跟外部网络通讯的网桥。

GRE:General Routing Encapsulation,一种经过封装来实现隧道的方式。在

openstack中通常是基于L3的gre,即original pkt/GRE/IP/Ethernet

VETH:虚拟ethernet接口,一般以pair的方式出现,一端发出的网包,会被另

一端接收,能够造成两个网桥之间的通道。

qvb:neutron veth, Linux Bridge-side

qvo:neutron veth, OVS-side

TAP设备:模拟一个二层的网络设备,能够接受和发送二层网包。

TUN设备:模拟一个三层的网络设备,能够接受和发送三层网包。

iptables:Linux 上常见的实现安全策略的防火墙软件。

Vlan:虚拟 Lan,同一个物理 Lan 下用标签实现隔离,可用标号为1-4094。

VXLAN:一套利用 UDP 协议做为底层传输协议的 Overlay 实现。通常认为做

为 VLan 技术的延伸或替代者。

namespace:用来实现隔离的一套机制,不一样 namespace 中的资源之间彼此

不可见。


Neutron管理下面的实体:

网络:隔离的 L2 域,能够是虚拟、逻辑或交换。

子网:隔离的 L3 域,IP 地址块。其中每一个机器有一个 IP,同一个子网的主机彼此 L3 可见。

端口:网络上虚拟、逻辑或交换端口。 全部这些实体都是虚拟的,拥有自动生成的惟一标示id,支持CRUD功能,并在数据库中跟踪记录状态。

网络隔离的 L2 广播域,通常是建立它的用户全部。用户能够拥有多个网络。网络是最基础的,子网和端口都须要关联到网络上。网络上能够有多个子网。同一个网络上的主机通常能够经过交换机或路由器连通起来。

子网隔离的 L3 域,子网表明了一组分配了 IP 的虚拟机。每一个子网必须有一个 CIDR 和关联到一个网络。IP 能够从 CIDR 或者用户指定池中选取。子网可能会有一个网关、一组 DNS 和主机路由。不一样子网之间 L3 是互相不可见的,必须经过一个三层网关(即路由器)通过 L3 上进行通讯。

端口能够进出流量的接口,每每绑定上若干 MAC 地址和 IP 地址,以进行寻址。通常为虚拟交换机上的虚拟接口。虚拟机挂载网卡到端口上,经过端口访问网络。当端口有 IP 的时候,意味着它属于某个子


逻辑概念以下图所示:

image.png


大体架构以下:(VLAN模式)

image.png


因为本次采用allinone的部署,控制节点和网络节点合并在一块儿,同时,测试环境下只有一个网卡。


4.2将neutron与外部网络链接


neuntron主要是经过br-ex与外部网络链接通信

首先将/etc/sysconfig/network-scripts/ifcfg-ens192(实际状况物理网卡名称可能不一样,如kvm中为eth0),复制为/etc/sysconfig/network-scripts/ifcfg-br-ex,

编辑/ etc / sysconfig / network-scripts / ifcfg-br-ex,重点修改以下内容

DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=172.31.208.100  # 这个ip地址就是ens01网卡的ip地址                    
NETMASK=255.255.255.0  
GATEWAY=192.168.122.1  
DNS1=192.168.122.1    
ONBOOT=yes


image.png


而后修改/etc/sysconfig/network-scripts/ifcfg-ens192

DEVICE=ens192
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
ONBOOT=yes

image.png


完成修改保存后,重启网络服务

systemctl restart network

如今,使用Neutron建立外部网络。

. keystonerc_admin
neutron net-create external_network --provider:network_type flat --provider:physical_network extnet  --router:external

image.png

而后咱们就能够在openstack dashbord中看到建立好的外部网路

image.png


4.2 配置子网

    使用之间建立好的vdc_admin登录,开始建立网络,名称为public

image.png

而后定义子网private_network网段为分配私网网段,192.168.1.0/24

image.png


下一步,定义子网dhcp地址范围和dns信息,这里不用添加主机路由



image.png


完成私网网络配置后,还须要配置一个路由器,虚拟机实例分配到私网地址后,经过该路由器进行snat到exernal网络,再到外部物理网络


image.png

而后点击新建的路由器router,添加接口

image.png

此时就完成了路由器的添加。

此时查看网络拓扑,以下所示:

image.png


能够看,虚拟网络public已经经过虚拟机路由器与外部网络是连通的了

配置完成,能够再命令行中验证建立的网络状况

image.png

相关文章
相关标签/搜索