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

相關文章
相關標籤/搜索