openstack octavia 手工安装

openstack octavia 是 openstack lbaas的支持的一种后台程序,提供为虚拟机流量的负载均衡。实质是类似于trove,调用 nove 以及neutron的api生成一台安装好haproxy软件的虚拟机,并连接到要目标网路。具体原理和devstack安装方法 参考

http://lingxiankong.github.io/blog/2016/03/30/octavia/?utm_source=tuicool&utm_medium=referral

http://docs.openstack.org/developer/devstack/guides/devstack-with-lbaas-v2.html

目前官方不提供安装文档。谷歌了下似乎也没人写过具体的安装步骤,只推荐用devstack来进行安装。本人尝试根据devstack的安装脚本总结了下安装octavia的步骤,不当之处请各位指正。

1、创建数据库

mysql> CREATE DATABASE octavia;
mysql> GRANT ALL PRIVILEGES ON octavia.* TO ‘octavia‘@‘localhost‘  IDENTIFIED BY ‘OCTAVIA_DBPASS‘;mysql> GRANT ALL PRIVILEGES ON octavia.* TO ‘octavia‘@‘%‘ \  IDENTIFIED BY ‘OCTAVIA_DBPASS‘;

2 创建用户 角色 endpoint

openstack user create --domain default --password-prompt octavia
openstack role add --project service --user cinder admin
openstack endpoint create octavia public http://10.1.65.58:9876/ --region RegionOne 
openstack endpoint create octavia admin http://10.1.65.58:9876/ --region RegionOne 
openstack endpoint create octavia internal http://10.1.65.58:9876/ --region RegionOne

3 安装软件包

yum install openstack-octavia-worker openstack-octavia-api python-octavia openstack-octavia openstack-octavia openstack-octavia

4 导入镜像 镜像是从devstack 生成的系统中导出来的

openstack --os-cloud=devstack-admin --os-region-name=RegionOne image create amphora-x64-haproxy --public --container-format=bare --disk-format qcow2

5 创建管理网络,并在主机创建ovs端口,使octavia-worker,octavia-housekeeping,octavia-health-manager能和生成的虚拟机实例通讯

5.1 生成管理网络,网段

openstack network create lb-mgmt-net
openstack subnet create --subnet-range 192.168.0.0/24 --allocation-pool       start=192.168.0.2,end=192.168.0.200 --network lb-mgmt-net lb-mgmt-subnet

5.2 生成管理端口防火墙规则

5555端口是管理网络,考虑到octavia组件尚不成熟,开启了22端口,镜像本身也是开启了22端口,这点吐槽下trove,同样是不成熟的模块,默认不开启22端口,还得去改源码。

openstack security group create lb-mgmt-sec-grp
openstack security group rule create --protocol udp --dst-port 5555 lb-health-mgr-sec-grp
openstack security group rule create --protocol tcp --dst-port 22 lb-mgmt-sec-grp

5.3 在管理网络创建一个端口用于连接宿主机中的octavia health_manager

neutron port-create --name octavia-health-manager-standalone-listen-port --security-group lb-health-mgr-sec-grp --device-owner Octavia:health-mgr --binding:host_id=controller lb-mgmt-net

5.4 创建宿主机的ovs端口 并连接至5.1生成的网络

ovs-vsctl -- --may-exist add-port br-int o-hm0 -- set Interface o-hm0 type=internal -- set Interface o-hm0 external-ids:iface-status=active -- set Interface o-hm0 external-ids:attached-mac=fa:16:3e:6f:9f:9a -- set Interface o-hm0 external-ids:iface-id=457e4953-b2d6-49ee-908b-2991506602b2

其中iface-id 和attached-mac 为 5.3生成的port的 属性

ip link set dev o-hm0 address fa:16:3e:6f:9f:9a

5.5 在宿主机上创建dhcp (为啥不用传统的dnsmasq呢?)

dhclient -v o-hm0 -cf /etc/octavia/dhcp/dhclient.conf
时间: 2024-10-10 03:33:33

openstack octavia 手工安装的相关文章

openstack octavia介绍

octavia自kilo版本从neutron lbaas项目中分离出来,通过管理一系列amphora(vm.containers, or bare metal servers)来完成负载均衡的功能.其框架结构也是一个典型的openstack项目框架.api作为项目入口,rpc来作为组内模块之间通信的中介,controller及数据库来保证数据存储及一致性,使用功能实现使用driver来保证能够实现兼容性. 图片引用自https://docs.openstack.org/developer/oct

OPENSTACK学习笔记(1)

从CloudMan那里学的,自己做的笔记,就成为自己的了. 呵呵! 虚拟化基础知识 虚拟化是云计算的基础.简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU.内存.IO 硬件资源,但逻辑上虚拟机之间是相互隔离的. 物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest). 那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?这个主要是通过一个叫做 Hypervisor 的程序实现的. 根据 Hypervisor

制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)

这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法,后面还会讨论 Windows 镜像. 下载clould 镜像 最简单的方法是使用标准镜像.主流的Linux发行版都提供可以在 OpenStack 中直接使用的cloud镜像,下载地址: CentOS6:http://cloud.centos.org/centos/6/images/ CentOS7

openstack 之 使用virtualbox 脚本自动安装mirantis openstack

请直接参考https://docs.mirantis.com/openstack/fuel/fuel-9.0/  上的 <Mirantis-OpenStack-9.0-QuickStartGuide> 以前不知道mirantis还提供了更加快捷的部署方案,就是连virtualbox的环境都帮你自动化部署完成了,你只需要根据你的硬件条件,按照你的需求配置虚拟机的相关参数,比如你的环境只有8G内存,那么你就选择部署一个3个节点的openstack,直接在virtualbox script中调用相应

准备 KVM 实验环境 - 每天5分钟玩转 OpenStack(3)

KVM 是 OpenStack 使用最广泛的 Hypervisor,本节介绍如何搭建 KVM 实验环境 安装 KVM 上一节说了,KVM 是 2 型虚拟化,是运行在操作系统之上的,所以我们先要装一个 Linux.Ubuntu.Redhat.CentOS 都可以,这里我们以 Ubuntu14.04 为例. 基本的 Ubuntu 操作系统装好之后,安装 KVM 需要的包 $ sudo apt-get install qemu-kvm qemu-system libvirt-bin virt-mana

[译] OpenStack Liberty 版本中的53个新变化

一个新的秋季,一个新的OpenStack 版本.OpenStack 的第12个版本,Liberty,在10月15日如期交付,而且目前发行版本已经备好了.那么我们期望能从过去六个月时间的开发中获得些什么呢?  正如过去几年一样,每个版本都有大量的变化和引入新的功能,但是现在,OpenStack 已经达到一个新的位置,那就是大部分的必要功能都已经齐备了,因此,现在更多的是增量式的变化-只有一些偶然性爆发的领域是例外,比如容器.  当然,这不是说容器就是过去六个月内的所有值得期待的东西.除了容器,还有

Openstack Neutron : LBaaS v2

目录 - LBaaS v2 - 负载均衡概念 - 服务器池 Pool - 监听器 Listener - L7 转发策略 l7 policy - 负载均衡算法 Algorithms - 健康监测 Monitor - 会话保持 Session persistence - 实现 - HAproxy + keepalive - HAproxy - Keepalive - Octavia - Load Balancing as a Service : Liberty and Beyond LBaaS v2

理解 Glance - 每天5分钟玩转 OpenStack(20)

OpenStack 由 Glance 提供 Image 服务. 理解 Image 要理解 Image Service 先得搞清楚什么是 Image 以及为什么要用 Image? 在传统 IT 环境下,安装一个系统是要么从安装 CD 从头安装,要么用 Ghost 等克隆工具恢复.这两种方式有如下几个问题: 如果要安装的系统多了效率就很低 时间长,工作量大 安装完还要进行手工配置,比如安装其他的软件,设置 IP 等 备份和恢复系统不灵活 云环境下需要更高效的解决方案,这就是 Image. Image

OpenStack Tempest

目录 1.Tempest测试框架介绍 A.概念 B.具体内容 C.原理 D.优缺点 2.Tempest的安装配置 A.安装 B.初始化 C.修改配置 3.Tempest执行测试(命令) A.执行测试(命令语句,格式) B.执行部分用例 C.断点单步调试 4.Tempest代码结构.文件目录 A.目录结构 B.代码结构 C.tempest.conf结构 5.Tempest测试 A.API测试用例(流程图,结果) 1.Tempest测试框架介绍 a.Tempest 是 Openstack 的测试框架