手把手教你安裝OpenStack——Ocata安裝指南(下)

手把手教你安裝OpenStack——Ocata安裝指南(上)

五、網絡服務

  安裝並配置控制節點

  1、前提條件

  創建數據庫,與之前類似:

  $ mysql -u root -p

  MariaDB [(none)] CREATE DATABASE neutron;

  MariaDB [(none)]> GRANT ALL PRIVILEGESON neutron.* TO 'neutron'@'localhost'

  IDENTIFIED BY 'NEUTRON_DBPASS';

  MariaDB [(none)]> GRANT ALL PRIVILEGESON neutron.* TO 'neutron'@'%'

  IDENTIFIED BY 'NEUTRON_DBPASS';

  獲取admin權限:

  $ . admin-openrc

  創建服務認證:

  創建neutron用戶

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

  給neutron添加admin角色:

  $ openstack role add --project service --user neutron admin

  創建neutron服務實體:

  $ openstack service create --name neutron

  --deion "OpenStack Networking" network

  創建網絡服務API端口:

  $ openstack endpoint create --region RegionOne

  network public http://controller:9696

  $ openstack endpoint create --region RegionOne

  network internal http://controller:9696

  $ openstack endpoint create --region RegionOne

  network admin http://controller:9696

  2、配置網絡選項

  選項1:部署一個最簡單的網絡,僅支持實例和公共網絡的連接。

  選項2:在選項1的基礎上,增加了3層服務,支持實例連接到私有網絡。

  這裏我們選擇選項2,選項2的部署包括選項1。

  在控制節點上進行以下操作:

  安裝組件

  # yum install openstack-neutron openstack-neutron-ml2

  openstack-neutron-linuxbridge ebtables

  配置服務器組件

  編輯/etc/neutron/neutron.conf文件,並完成以下配置:

  [database]選項中,配置數據庫連接:

  [database]

  # ...

  connection=mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron

  替換掉NEUTRON_DBPASS密碼。註釋掉或者刪除[database]其他參數。

  [DEFAULT]選項中,開啓ML2插件,路由服務以及overlapping IP地址,配置消息隊列連接:

  [DEFAULT]

  # ...

  core_plugin=ml2

  service_plugins=router

  allow_overlapping_ips=true

  transport_url=rabbit://openstack:RABBIT_PASS@controller

  替換掉RABBIT_PASS

  [DEFAULT]選項和[keystone_authtoken]選項中,配置認證服務連接

  [DEFAULT]

  # ...

  auth_strategy=keystone

  [keystone_authtoken]

  # ...

  auth_uri=http://controller:5000

  auth_url=http://controller:35357

  memcached_servers=controller:11211

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  project_name=service

  username=neutron

  password=NEUTRON_PASS

  替換掉NEUTRON_PASS

  註釋或刪除[keystone_authtoken]中的其他選項。

  [DEFAULT][nova]選項中,配置網絡來通知計算機網絡拓撲的變換:

  [DEFAULT]

  # ...

  notify_nova_on_port_status_changes=true

  notify_nova_on_port_data_changes=true

  [nova]

  # ...

  auth_url=http://controller:35357

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  region_name=RegionOne

  project_name=service

  username=nova

  password=NOVA_PASS

  替換掉NOVA_PASS

  [oslo_concurrency]選項中,配置鎖定地址:

  [oslo_concurrency]

  # ...

  lock_path=/var/lib/neutron/tmp

  配置ML2

  編輯/etc/neutron/plugins/ml2/ml2_conf.ini文件,在ml2選項中,開啓flat,VLAN,以及VXLAN網絡:

  [ml2]

  # ...

  type_drivers=flat,vlan,vxlan

  開啓VXLAN私有網絡:

  [ml2]

  # ...

  tenant_network_types=vxlan

  開啓橋接和2層機制

  [ml2]

  # ...

  mechanism_drivers=linuxbridge,l2population

  Linux橋接代理僅支持VXLAN覆蓋網絡,開啓端口安全擴展驅動:

  [ml2]

  # ...

  extension_drivers=port_security

  在選項中;配置公共虛擬網絡作爲扁平網絡:

  [ml2_type_flat]

  # ...

  flat_networks=provider

  爲私有網絡配置VXLAN網絡識別範圍

  [ml2_type_vxlan]

  # ...

  vni_ranges=1:1000

  [securitygroup]選項中,開啓ipset增加安全組規則的高效性;

  [securitygroup]

  # ...

  enable_ipset=true

  配置Linux 橋接代理

  編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

  [linux_bridge]選項中,映射公共虛擬網絡到公共物理網絡接口;

  [linux_bridge]

  physical_interface_mappings=provider:PROVIDER_INTERFACE_NAME

  PROVIDER_INTERFACE_NAME替換爲公共網絡網卡名字

  在選項中,開始VXLAN覆蓋網絡,配置物理網絡的IP地址,啓用L2。

  [vxlan]

  enable_vxlan=true

  local_ip=OVERLAY_INTERFACE_IP_ADDRESS

  l2_population=true

  OVERLAY_INTERFACE_IP_ADDRESS替換爲管理網絡IP地址,即控制節點IP。(沒有配置管理網絡)

  [securitygroup]選項中,啓用安全組並配置Linux橋接iptables防火牆驅動;

  [securitygroup]

  # ...

  enable_security_group=true

  firewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

  配置3層代理

  編輯/etc/neutron/l3_agent.ini文件

  [DEFAULT]選項中,配置Linuxbridge驅動接口

  [DEFAULT]

  # ...

  interface_driver=linuxbridge

  配置DHCP代理

  編輯/etc/neutron/dhcp_agent.ini文件

  [DEFAULT]選項中,配置inuxbridge驅動接口,DHCP驅動並啓用隔離元數據,這樣在公共網絡上的實例就可以通過網絡來訪問元數據

  [DEFAULT]

  # ...

  interface_driver=linuxbridge

  dhcp_driver=neutron.agent.linux.dhcp.Dnsmasq

  enable_isolated_metadata=true

配置元數據代理

  [DEFAULT]選項中,配置元數據主機和共享密碼

  [DEFAULT]

  # ...

  nova_metadata_ip=controller

  metadata_proxy_shared_secret=METADATA_SECRET

  替換METADATA_SECRET爲合適的密碼

  配置計算服務來使用網絡

  編輯/etc/nova/nova.conf文件

  [neutron]選項中,配置連接參數,啓用元數據代理,配置密碼:

  [neutron]

  # ...

  url=http://controller:9696

  auth_url=http://controller:35357

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  region_name=RegionOne

  project_name=service

  username=neutron

  password=NEUTRON_PASS

  service_metadata_proxy=true

  metadata_proxy_shared_secret=METADATA_SECRET

  替換NEUTRON_PASSMETADATA_SECRET

  3、完成安裝

  建立符號鏈接

  # 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.ini upgrade head" neutron

  重啓計算API服務

  # systemctl restart openstack-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,也要啓用3層服務

  # systemctl enable neutron-l3-agent.service

  # systemctl start neutron-l3-agent.service

安裝並配置計算節點1、安裝組件

  # yum install openstack-neutron-linuxbridge ebtables ipset

  配置公共組件

  編輯/etc/neutron/neutron.conf文件

  [database]中,註釋掉任何的連接,因爲計算節點不直接連接數據庫。

  [DEFAULT],配置消息隊列連接

  [DEFAULT]

  # ...

  transport_url=rabbit://openstack:RABBIT_PASS@controller

  替換RABBIT_PASS

  [DEFAULT][keystone_authtoken]選項中

  [DEFAULT]

  # ...

  auth_strategy=keystone

  [keystone_authtoken]

  # ...

  auth_uri=http://controller:5000

  auth_url=http://controller:35357

  memcached_servers=controller:11211

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  project_name=service

  username=neutron

  password=NEUTRON_PASS

  替換NEUTRON_PASS密碼

  [oslo_concurrency]選項中,配置鎖定路徑

  [oslo_concurrency]

  # ...

  lock_path=/var/lib/neutron/tmp

  在計算節點上配置網絡選項2

  配置Linux橋接代理

  編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

  [linux_bridge]部分,映射公共虛擬網絡到公共物理網絡接口:

  [linux_bridge]

  physical_interface_mappings=provider:PROVIDER_INTERFACE_NAME

  PROVIDER_INTERFACE_NAME替換爲物理網卡名字。

  [vxlan]部分,啓用VXLAN覆蓋網絡,配置物理網絡IP地址,啓用l2_population:

  [vxlan]

  enable_vxlan=true

  local_ip=OVERLAY_INTERFACE_IP_ADDRESS

  l2_population=true

  [securitygroup]部分,啓用安全組並配置Linux橋接iptables防火牆驅動:

  [securitygroup]

  # ...

  enable_security_group=true

  firewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

  爲計算節點配置網絡服務:

  編輯/etc/nova/nova.conf文件

  [neutron]部分,配置連接參數;

  [neutron]

  # ...

  url=http://controller:9696

  auth_url=http://controller:35357

  auth_type=password

  project_domain_name=default

  user_domain_name=default

  region_name=RegionOne

  project_name=service

  username=neutron

  password=NEUTRON_PASS

  替換NEUTRON_PASS

  完成安裝

  重啓計算服務:

  # systemctl restart openstack-nova-compute.service

  啓動Linux橋接代理並配置開機啓動:

  # systemctl enable neutron-linuxbridge-agent.service

  # systemctl start neutron-linuxbridge-agent.service

驗證操作

  獲取admin權限

  $ . admin-openrc

  列出加載的擴展來驗證neutron-server是否成功運行:

  $ openstack extension list --network

  驗證網絡:

  在控制節點上,列出所有的代理:

  $ openstack network agent list

  9a51678315fa4ba0b5b520c92f21b684.png

  輸出應該是4個控制節點上的代理和一個計算節點上的代理。

  六、Dashboard

  安裝和配置

  驗證操作

  安裝並配置組件

  安裝相關包

  # yum install openstack-dashboard

  編輯/etc/openstack-dashboard/local_settings文件,修改以下配置

  注:以下的配置大部分在原配置文件中都包括,修改即可,不要直接添加。

  配置dashboard在控制節點上使用OpenStack服務:

  OPENSTACK_HOST="controller"

  允許主機連接到dashboard:

  ALLOWED_HOSTS=['*,]

  *表示允許所有主機連接dashboard,在生產環境中不建議這樣做。

  配置memcached存儲服務:

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

  CACHES={

  'default':{

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

  'LOCATION':'controller:11211',

  }

  }

  啓用認證API版本3

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

  啓用域支持:

  OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT=True

  配置API版本:

  OPENSTACK_API_VERSIONS={

  "identity":3,

  "image":2,

  "volume":2,

  }

  配置default作爲用戶通過dashboard創建的默認的域:

  OPENSTACK_KEYSTONE_DEFAULT_DOMAIN="default"

  配置user作爲用戶創建的默認的角色:

  OPENSTACK_KEYSTONE_DEFAULT_ROLE="user"

  可選的,可以配置時區:

  TIME_ZONE="TIME_ZONE"

  替換掉TIME_ZONE,這裏替換爲:Asia/chongqing

  完成安裝:

  重啓web服務器以及會話存儲服務:

  # systemctl restart httpd.service memcached.service

  驗證操作:

  使用瀏覽器連接http://controller/dashboard,如果無法連接,那麼就將controller替換爲IP地址。如下圖;

  0386196d24834ea1af8b6a0c16b6acdd_th.png

  使用admin或者demo用戶和default域認證,如下圖,登錄成功:

  42a1ba27beff42c28625f60e9542152d_th.jpeg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章