1. 程式人生 > >OpenStack Pike安裝學習筆記

OpenStack Pike安裝學習筆記

OpenStack網路服務,可以建立虛擬網路裝置並將其連線到網路。比如建立虛擬交換機、虛擬防火牆、虛擬路由器等,這些虛擬的網路裝置可以提供與物理裝置幾乎等同的功能與效能。OpenStack網路外掛還可相容不同的網路裝置和軟體,為OpenStack的架構和部署提供了遠超物理網路的靈活性和擴充套件性。是資料中心實現SDN、NFV的關鍵元件。

Neutron是當前OpenStack上最為主流的網路解決套件。

Neutron元件構成

neutron-server

    接收和路由API請求到合適的OpenStack網路外掛,以達到預想的目的。通俗點說就是提供API,用於接收來自雲系統的對網路的操作指令,然後通過LB-Agent來操作網路節點與計算節點中的外掛,由外掛完成具體的網路操作。

外掛和代理

    外掛具體負責建立網路、子網,插拔(虛擬)網路埠。外掛和代理可相容多個廠商的裝置和技術,如:Cisco虛擬及物理交換機、NEC OpenFlow產品、Open vSwitch、Linux bridging以及VMware NSX等。代理提供具體的功能,如LinuxBridge Agent、OpenSwitch Agent、DHCP Agent、L3 Agent等,可提供DHCP動態IP分配、三層IP路由等功能,視具體代理而定。

訊息佇列

大多數的OpenStackNetworking安裝都會用到,用於在neutron-server和各種各樣的代理程序間傳遞資訊。也為某些特定的外掛扮演資料庫的角色,以儲存網路狀態。OpenStack網路主要和OpenStack計算節點互動,以提供網路連線給例項。

安裝和配置Neutron

先決準備

建立neutron資料庫

mysql -u root -p

CREATE DATABASE neutron;

授權neutron資料庫

GRANT ALL PRIVILEGES ON neutron.* TO'neutron'@'localhost' IDENTIFIED BY 'dycos2018';

GRANT ALL PRIVILEGES ON neutron.* TO'neutron'@'%' IDENTIFIED BY 'dycos2018';

quit   #退出

注意紅字部分使用合適的密碼替代

呼叫ADMIN憑證環境

source ~/admin-openrc

OpenStack建立Neutron使用者

openstack user create --domain default--password-prompt neutron

授權admin角色給neutron使用者

openstack role add --project service --userneutron admin

注意:此命令執行無輸出,可用下方命令檢視確認

openstack role list --project service --userneutron

建立neutron服務實體

openstack service create --name neutron--description "OpenStack Networking" network

建立API端點

注意使用合適的主機名替代紅字部分

建立公共端點

openstack endpoint create --regionRegionOne network public http://osctl:9696

建立內部端點

openstack endpoint create --regionRegionOne network internal http://osctl:9696

建立管理端點

openstack endpoint create --regionRegionOne network admin http://osctl:9696

選擇網路選項

Neutron部署網路服務時有選項1或選項2兩種架構。

選項1採用儘可能簡單的架構進行部署,只支援例項連線到公有網路(運營商網路)。沒有self-service網路(個人網路<private>),路由器以及浮動IP地址。只有admin或者其他特權使用者可管理網路。

選項2在選項1的基礎上多了layer-3服務,支援例項連線到私有網路。普通使用者可以管理自己的私有網路,包含連線公網和私網的路由器。

典型的私有網路一般使用overlay網路。例如VxLAN,VXLAN包含了額外的資料頭,這些資料頭增加了開銷,減少了有效內容和使用者資料的可用空間。在不瞭解虛擬網路架構的情況下,例項採用乙太網最大傳輸單元 (MTU) 1500位元組傳送資料包。OpenStack網路服務通過DHCP服務自動給例項提供正確的MTU值。但是,一些雲映象並沒有使用DHCP或者忽視了DHCP MTU選項,則需要配置。

注意:選項2同樣支援例項連線到公共網路。

我們採用選項2

安裝元件

yum install openstack-neutronopenstack-neutron-ml2 openstack-neutron-linuxbridge ebtables

配置服務元件

編譯並配置/etc/neutron/neutron.conf

配置資料庫訪問

[database]

connection = mysql+pymysql://neutron:dycos2018@osctl/neutron

配置外掛型別

[DEFAULT]

core_plugin = ml2

service_plugins = router

allow_overlapping_ips = true

命令列配置方式示例

其實安裝openstack-utils後,就可以使用命令列的方式對配置檔案進行配置了,命令列的方式將十分便利於指令碼化安裝openstack。openstack-utils我們已經在前面安裝過了。下面舉幾個命令列配置的例子,相信一看就懂。不過首次安裝,建議還是手工一步步進行配置,多花一些時間,有利於openstack框架、引數含義的理解。否則使用命令列指令碼一複製,一執行,很快裝完了,但是沒有參與過程,裝完了對OpenStack架構瞭解仍然不多,肯定不是所希望的。

示例上方兩項配置的命令列方式修改

openstack-config --set /etc/neutron/neutron.confdatabase connection mysql+pymysql://neutron:dycos2018@osctl/neutron

openstack-config --set/etc/neutron/neutron.conf DEFAULT core_plugin ml2

openstack-config --set/etc/neutron/neutron.conf DEFAULT service_plugins router

openstack-config --set/etc/neutron/neutron.conf DEFAULT allow_overlapping_ips

配置RabbitMQ訊息通訊元件的訪問

[DEFAULT]

transport_url = rabbit://openstack:dycos2018@osctl

配置keystone身份認證元件的訪問

[DEFAULT]

auth_strategy = keystone

[keystone_authtoken]

auth_uri = http://osctl:5000

auth_url = http://osctl:35357

memcached_servers = osctl:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = neutron

password = dycos2018

配置網路服務,以便通知計算節點的網路拓撲變化

[DEFAULT]

notify_nova_on_port_status_changes = true

notify_nova_on_port_data_changes = true

 [nova]

auth_url = http://osctl:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = nova

password = dycos2018

配置鎖路徑

[oslo_concurrency]

lock_path = /var/lib/neutron/tmp

配置二層外掛Modular Layer 2 (ML2)

編輯並配置檔案/etc/neutron/plugins/ml2/ml2_conf.ini

啟用flat,VLAN以及VXLAN網路驅動

[ml2]

type_drivers = flat,vlan,vxlan

啟用VxLAN

[ml2]

tenant_network_types = vxlan

啟用LinuxBridge和二層機制

[ml2]

mechanism_drivers =linuxbridge,l2population

注意:Linuxbridge代理只支援VXLAN Overlay網路。

啟用埠安全擴充套件驅動

[ml2]

extension_drivers = port_security

配置虛擬公共網路為flat

[ml2_type_flat]

flat_networks = provider

為私有網路配置認證範圍

[ml2_type_vxlan]

vni_ranges = 1:1000

啟用IPSET以便增加安全組規則效率

[securitygroup]

enable_ipset = true

配置Linux Bridge

編輯並配置檔案/etc/neutron/plugins/ml2/linuxbridge_agent.ini

對映虛擬公共網路至公共網路物理介面

[linux_bridge]

physical_interface_mappings = provider:ens160

請注意將紅字部分PROVIDER_INTERFACE_NAME替換成實際環境下的公共網路物理介面系統名

啟用二層網路和VxLan

[vxlan]

enable_vxlan = true

local_ip = 192.168.200.200

l2_population = true

注意:請將紅字IP地址(OVERLAY_INTERFACE_IP_ADDRESS)配置為實際環境Tunnel物理介面地址

啟用安全組並配置橋接代理的防火牆驅動

[securitygroup]

enable_security_group = true

firewall_driver =neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置三層代理

編輯並配置檔案/etc/neutron/l3_agent.ini

[DEFAULT]

interface_driver = linuxbridge

配置DHC代理

編輯並配置檔案/etc/neutron/dhcp_agent.ini

[DEFAULT]

interface_driver = linuxbridge

dhcp_driver =neutron.agent.linux.dhcp.Dnsmasq

enable_isolated_metadata = true

配置元資料代理

編輯並配置檔案/etc/neutron/metadata_agent.ini

配置元資料主機和共享密文

[DEFAULT]

nova_metadata_host = osctl

metadata_proxy_shared_secret = dycos2018

為計算服務配置網路

這一步的目標就是使Compute節點可以使用Neutron網路

編輯並配置檔案/etc/nova/nova.conf

[neutron]

url = http://osctl:9696

auth_url = http://osctl:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = neutron

password = dycos2018

service_metadata_proxy = true

metadata_proxy_shared_secret = dycos2018

完成安裝

硬鏈檔案/etc/neutron/plugin.ini至/etc/neutron/plugins/ml2/ml2_conf.ini

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini/etc/neutron/plugin.ini

同步資料庫

su -s /bin/sh -c "neutron-db-manage--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.iniupgrade head" neutron

重啟計算服務API介面

systemctl restartopenstack-nova-api.service

啟動服務並設定自啟動(兩種選項網路都需要)

systemctl enable \

neutron-server.service \

neutron-linuxbridge-agent.service \

neutron-dhcp-agent.service \

neutron-metadata-agent.service

systemctl start \

neutron-server.service \

neutron-linuxbridge-agent.service \

neutron-dhcp-agent.service \

neutron-metadata-agent.service

選項2網路啟動三層服務

systemctl enable neutron-l3-agent.service

systemctl start neutron-l3-agent.service

驗證服務啟動

systemctl status \

neutron-server.service \

neutron-linuxbridge-agent.service \

neutron-dhcp-agent.service \

neutron-metadata-agent.service \

neutron-l3-agent.service \

Horizon

安裝

yum install openstack-dashboard

配置

編輯並配置檔案/etc/openstack-dashboard/local_settings

配置控制器地址

OPENSTACK_HOST = "osctl"

配置允許訪問horizon主機

ALLOWED_HOSTS = ['one.example.com','two.example.com']

*代表允許所有主機

配置memcached

SESSION_ENGINE ='django.contrib.sessions.backends.cache'

CACHES = {

   'default': {

        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

        'LOCATION': 'controller:11211',

    }

}

配置認證服務版本

OPENSTACK_KEYSTONE_URL ="http://%s:5000/v3" % OPENSTACK_HOST

配置多域名支援

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT =True

配置API版本

OPENSTACK_API_VERSIONS = {

   "identity": 3,

    "image":2,

   "volume": 2,

}

配置預設域名

OPENSTACK_KEYSTONE_DEFAULT_DOMAIN ="Default"

配置預設角色

OPENSTACK_KEYSTONE_DEFAULT_ROLE ="user"

配置時區

TIME_ZONE = "Asia/Shanghai"

完成安裝

systemctl restart httpd.servicememcached.service

驗證服務

http://osctl/dashboard

可以使用前面建的admin或demo,域default

計算節點安裝

環境準備

同控制節點,安裝系統、配置時區、配置IP地址和閘道器、配置DNS、配置主機名、配置HOSTS檔案、配置GRUB、配置防火牆、配置時間同步、快照虛擬機器

安裝NOVA

安裝PIKE倉庫

yum install -ycentos-release-openstack-pike

更新系統

yum upgrade

安裝客戶端

yum install python-openstackclient

安裝安裝配置

yum install openstack-selinux

安裝元件

yum install openstack-nova-compute

安裝工具包

openstack-utils

配置

編輯並配置檔案/etc/nova/nova.conf

開啟compute和metadata API

[DEFAULT]

enabled_apis = osapi_compute,metadata

配置資訊服務

transport_url = rabbit://openstack:dycos2018@osctl

配置認證服務

[api]

auth_strategy = keystone

[keystone_authtoken]

auth_uri = http://osctl:5000

auth_url = http://osctl:35357

memcached_servers = osctl:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = nova

password = dycos2018

配置計算節點管理IP

[DEFAULT]

my_ip = 192.168.100.201

啟用網路服務

[DEFAULT]

use_neutron = True

firewall_driver =nova.virt.firewall.NoopFirewallDriver

配置遠端訪問

[vnc]

enabled = True

vncserver_listen = 0.0.0.0

vncserver_proxyclient_address = $my_ip

novncproxy_base_url = http://osctl:6080/vnc_auto.html

配置映象服務

[glance]

api_servers = http://osctl:9292

配置LOCKPATH

[oslo_concurrency]

lock_path = /var/lib/nova/tmp

配置placement

[placement]

os_region_name = RegionOne

project_domain_name = Default

project_name = service

auth_type = password

user_domain_name = Default

auth_url = http://osctl:35357/v3

username = placement

password = dycos2018

完成安裝

檢查CPU支援的硬體虛擬化技術

egrep -c '(vmx|svm)' /proc/cpuinfo

如果命令返回為zero,則不支援硬體虛擬化,必須配置libvirt使用QEMU來代替KVM。

配置方法

編輯並配置檔案/etc/nova/nova.conf

[libvirt]

virt_type = qemu

啟動服務

systemctl enable libvirtd.serviceopenstack-nova-compute.service

systemctl start libvirtd.serviceopenstack-nova-compute.service

新增計算節點到CELL資料庫@controller

呼叫ADMIN環境並檢索

source ~/admin-openrc

openstack compute service list --servicenova-compute

CELL發現計算主機

su -s /bin/sh -c "nova-manage cell_v2discover_hosts --verbose" nova

設定配置

[scheduler]

discover_hosts_in_cells_interval = 300

校驗安裝 @compute

呼叫ADMIN環境

從控制節點拷貝ADMIN和DEMO環境配置並呼叫

scp osctl:/root/admin* .

scp osctl:/root/demo* .

source ~/admin-openrc

列出服務元件

openstack compute service list

列出API端點

openstack catalog list

列出映象

openstack image list

檢查CELL及placement API工作狀態

(Check the cells and placement API are working successfully)

nova-status upgrade check

安裝Neutron

安裝

yum install openstack-neutron-linuxbridgeebtables ipset

配置

編輯並配置/etc/neutron/neutron.conf

[DEFAULT]

transport_url =rabbit://openstack:[email protected]

auth_strategy = keystone

[keystone_authtoken]

auth_uri = http://osctl:5000

auth_url = http://osctl:35357

memcached_servers = osctl:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = neutron

password = dycos2018

[oslo_concurrency]

lock_path = /var/lib/neutron/tmp

編輯並配置/etc/nova/nova.conf

[neutron]

url = http://osctl:9696

auth_url = http://osctl:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = neutron

password = dycos2018

配置選項2網路型別@compute

編輯並配置檔案/etc/neutron/plugins/ml2/linuxbridge_agent.ini

[linux_bridge]

physical_interface_mappings =provider:ens160

[vxlan]

enable_vxlan = true

local_ip = 192.168.200.201

l2_population = true

[securitygroup]

enable_security_group = true

firewall_driver =neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

完成安裝

啟動服務

systemctl restartopenstack-nova-compute.service

systemctl enableneutron-linuxbridge-agent.service

systemctl startneutron-linuxbridge-agent.service

相關推薦

OpenStack Pike安裝學習筆記

OpenStack網路服務,可以建立虛擬網路裝置並將其連線到網路。比如建立虛擬交換機、虛擬防火牆、虛擬路由器等,這些虛擬的網路裝置可以提供與物理裝置幾乎等同的功能與效能。OpenStack網路外掛還可相容不同的網路裝置和軟體,為OpenStack的架構和部署提供了遠超物理網路的靈活性和擴充套件性。是資料中心實

OpenStack環境部署學習筆記——安裝linux系統

宣告:本部落格歡迎轉載,但請保留原作者資訊! 作者:華為雲端計算工程師 林凱 團隊:華為杭州研發中心OpenStack社群團隊  本文是在學習Openstack部署的過程中整理和總結,由於時間和個人能力有限,錯誤之處在所難免,歡迎指正!        在伺服器上部署O

Linux虛擬機安裝學習筆記

不能 lin ip地址 vmw 一半 dev 空閑 ins nat 一、Linux系統的安裝1.VMwaer虛擬機的安裝使用 官方下載軟件地址:www.vmwaer.com 安裝的虛擬機可以與現實的計算機進行通信 安裝虛擬主機可以隨意定制硬件安裝配置建議: CPU:1Ghz

lrzsz安裝學習筆記

lrzsz安裝學習筆記1.軟件安裝 1)編譯安裝 root 賬號登陸後,依次執行以下命令:cd /tmpwget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gztar zxvf lrzsz-0.12.20.tar.gz && cd lr

Jmeter+JDK的安裝學習筆記

下載地址: jmeter:http://jmeter.apache.org/download_jmeter.cgi JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm

OpenStack環境部署學習筆記——配置基本環境

宣告: 本部落格歡迎轉載,但請保留原作者資訊! 作者:華為雲端計算工程師 林凱 團隊:華為杭州研發中心OpenStack社群團隊 本文是在學習Openstack部署的過程中整理和總結,由於時間和個人能力有限,錯誤之處在所難免,歡迎指正!       在上一篇部

mysql學習筆記(1-安裝簡介)

配置文件 服務器 二進制 mysql 通用 mysql的安裝方式:(1)通過系統提供的默認版本(穩定版,該版本滿足了使用的需求,建議使用,os vendor)(2)mysql官方提供 官方提供的通用rpm安裝包 官方提供的文件,以文件覆蓋的方式安裝 源碼包編譯安裝

Java學習筆記——Linux下安裝配置MySQL

code names 刪掉 set 影響 per install nod 設置 山重水復疑無路,柳暗花明又一村               ——遊山西村 系統:Ubuntu 16.04LTS 1\官網下載mysql-5.7.18-linux-glibc2.5-x86

Linux學習筆記-虛擬機安裝centos7-配置靜態IP

linux目的更方便操作,遠程登錄主機 tcp/ip通信 目前NAT 分享物理機網絡(特殊校園網)dhclient 動態自動獲取IP ip add 查看網卡IP設置靜態IP[[email protected]/* */ ~]# ip addvi /etc/syscon

Git學習筆記——Git安裝

linux版本 輸入 技術分享 源碼安裝 彈出 版本 operator IT學習 user Git是目前世界上最先進的分布式版本控制系統(沒有之一)。 在Linux上安裝Git 首先,你可以試著輸入git,看看系統有沒有安裝Git: $ git The program

Redis學習筆記(一)關於在windows64位環境下的安裝學習使用

客戶端 mas key-value 錯誤 services 再次 基準 alt 類型 前言 由於工作需要,目前我正在學習使用Redis。我當時學習Redis就從網上下載了點資料就開始學習了。入門看的是《REDIS入門指南》,這本書個人覺得很適合新手用來學習接觸。根據書上的引

Android APK安裝過程學習筆記

屏蔽 組成 學習 二進制 替換 壓縮包 基於 壓縮 方式 1.什麽是APK   APK,即Android Package,Android安裝包。不同平臺的安裝文件格式都不同,類似於Windows的安裝包是二進制的exe格式,Mac的安裝包是dmg格式。APK可以再Andro

Python學習筆記1安裝概述_20170610

lin 教程 linu 學習筆記 python學習 版本 pyc module 選擇 python 的安裝概述: 安裝Python3.6,教程很多 需要安裝的module:(註意選擇版本)  numpy  scipy  matplotlib 以上,在Windows

Python學習筆記-編譯安裝Python3.6.1 + iPython

python由於系統已有2.6的python,最好不好修改系統的版本,使用編譯安裝下載Python3.6.1包wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz安裝依賴:yum -y install readline-devel解壓

python學習筆記virtualenv下載安裝

筆記 ive jin ima ini ros ins inb bit %E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%80%9D%E7%BB%B4%E9%80%BB%E8%BE%91%2014%20-%20

ELK學習筆記(一)---安裝ELK 5.x版

elk安裝ELK日誌平臺是一個完整的日誌分析系統,有三個開源工具構建組成,分別是:Elasticsearch、Logstash和Kibana。Elasticsearch用於數據分析和深度搜索;Logstash作用是從其他服務器上傳輸和轉發日誌,對其集中管理,進行分析;Kibana則是提供了強大的UI展示,將數

python學習筆記matplotlib下載安裝

ans hud arch all 安裝 link aam python學習 matplot %E6%9C%80%E8%BF%91%E4%BD%BF%E7%94%A8Qt%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E5%B0%8

ElasticSearch學習筆記--安裝

upd 建議 node .html 添加 logs cat sea 版本 1、安裝ElasticSearch https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html

Django學習筆記(一)——安裝,創建項目,配置

lvs csv oot url root import 方式 配置文件 函數 瘋狂的暑假學習之 Django學習筆記(一) 教材 書《The Django Book》 視頻:csvt Django視頻 1.創建項目

ELK學習筆記(一)安裝Elasticsearch、Kibana、Logstash和X-Pack

成功 前端 功能 靈活 日誌分析 傳統 開發人員 收集 還在 最近在學習ELK的時候踩了不少的坑,特此寫個筆記記錄下學習過程。 日誌主要包括系統日誌、應用程序日誌和安全日誌。系統運維和開發人員可以通過日誌了解服務器軟硬件信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日