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的時候踩了不少的坑,特此寫個筆記記錄下學習過程。 日誌主要包括系統日誌、應用程序日誌和安全日誌。系統運維和開發人員可以通過日誌了解服務器軟硬件信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日