【OpenStack云平台】网络控制节点 HA 集群配置
网络控制节点运行在管理网络和数据网络中,如果虚拟机实例要连接到互联网,网络控制节点也需要具备互联网连接。
注意
Pacemaker 要求所有的节点服务器使用不用的主机名,而 OpenStack 网络服务调度程序只会关注其中一台(例如,一个虚拟路由器只能在其中一台运行 L3 代理的服务上启动),因此需要对 RA (Pacemaker 资源代理程序) 脚本进行相应修改。比如,所有的节点先各自在配置文件中配置不同的主机名,当 Pacemaker启动 l3-agent 时,自动将该节点的主机名改为 network-controller,这样所有启动 l3-agent 的节点会使用相同的主机名。
1.1 高可用 neutron L3 代理程序
Neutron L3 代理程序负责实现 L3/NAT 转发,让运行在租户网络上的虚拟机实例能够访问外部网络。Neutron L3 代理程序实现高可用也基于 Pacemaker 。
1.2 在 Pacemaker 中添加 neutron L3 代理程序资源
首先,下载 Pacemaker 资源代理:
# cd /usr/lib/ocf/resource.d/openstack
# wget https://raw.github.com/madkiss/openstack-resource-agents/master/ocf/neutron-agent-l3
# chmod a+rx neutron-l3-agent
现在可以在 Pacemaker 中填加 neutron L3 代理程序相关资源。执行 crm configure 命令进入Pacemaker 配置菜单,然后加入下列集群资源:
primitive p_neutron-l3-agent ocf:openstack:neutron-agent-l3 \
params config="/etc/neutron/neutron.conf" \
plugin_config="/etc/neutron/l3_agent.ini" \
op monitor interval="30s" timeout="30s"
这个配置创建
- p_neutron-l3-agent资源,对 neutron L3 代理程序进行管理。
- crm configure 支持批量输入,因此可以拷贝粘贴上面到现有的 Pacemaker 配置中,然后根据需要再作修改。
- 配置完成后,在 crm configure 菜单下输入 commit 提交所有配置变更。随后 Pacemaker 会其
中一台节点服务器上启动 neutron L3 代理程序(包括所有相关资源)。
注意
这种高可用方案不能实现“零停机”需求,原因是neutron L3 代理程序切换时需要重新创建网络命名空间和虚拟路由器。
1.3 高可用 neutron DHCP 代理程序
Neutron DHCP 代理程序使用 dnsmasq (默认情况下)为虚拟机实例分配 IP 地址。NeutronDHCP 代理程序高可用也通过 Pacemaker 实现。
1.4 在 Pacemaker 中添加 neutron DHCP 代理程序资源
首先,下载 Pacemaker 资源代理:
# cd /usr/lib/ocf/resource.d/openstack
# wget https://raw.github.com/madkiss/openstack-resource-agents/master/ocf/neutron-agent-dhcp
# chmod a+rx neutron-agent-dhcp
现在可以在 Pacemaker 中填加 neutron DHCP 代理程序相关资源。执行 crm configure 命令进入 Pacemaker 配置菜单,然后加入下列集群资源:
primitive p_neutron-dhcp-agent ocf:openstack:neutron-agent-dhcp \
params config="/etc/neutron/neutron.conf" \
plugin_config="/etc/neutron/dhcp_agent.ini" \
op monitor interval="30s" timeout="30s"
该配置会创建:
- p_neutron-agent-dhcp资源,对 neutron DHCP 代理程序进行管理。
- crm configure 支持批量输入,因此可以拷贝粘贴上面到现有的 Pacemaker 配置中,然后根据需要再作修改。
- 配置完成后,在 crm configure 菜单下输入 commit 提交所有配置变更。随后 Pacemaker 会其
中一台节点服务器上启动 neutron DHCP 代理程序(包括所有相关资源)。
1.5 高可用 neutron metadata 代理程序
Neutron metadata 代理程序的作用是让运行在租户网络上的虚拟机实例能够访问 OpenStack计算服务 API 元数据。Neutron metadata 代理程序的高可用也通过 Pacemaker 实现。
1.6 在 Pacemaker 中添加 neutron metadata 代理程序资源
首先,下载 Pacemaker 资源代理:
# cd /usr/lib/ocf/resource.d/openstack
# wget https://raw.github.com/madkiss/openstack-resource-agents/master/ocf/neutron-metadata-agent
# chmod a+rx neutron-metadata-agent
现在可以在 Pacemaker 中填加 neutron metadata 代理程序相关资源。执行 crm configure 命令进入 Pacemaker 配置菜单,然后加入下列集群资源:
primitive p_neutron-metadata-agent ocf:openstack:neutron-metadata-agent \
params config="/etc/neutron/neutron.conf" \
agent_config="/etc/neutron/metadata_agent.ini" \
op monitor interval="30s" timeout="30s"
这个配置创建
- p_neutron-metadata-agent资源,对 neutron metadata 代理程序进行管理。
- crm configure 支持批量输入,因此可以拷贝粘贴上面到现有的 Pacemaker 配置中,然后根据需要再作修改。
- 配置完成后,在 crm configure 菜单下输入 commit 提交所有配置变更。随后 Pacemaker 会其中一台节点服务器上启动 neutron metadata 代理程序(包括所有相关资源)。
1.7 组织网络相关资源
创建一个资源组将所有网络服务相关资源联系起来。执行 crm configure 命令进入Pacemaker 配置菜单,然后加入下列集群资源:
group g_services_network p_neutron-l3-agent p_neutron-dhcp-agent \
p_neutron-metadata_agent
期待下次的分享,别忘了三连支持博主呀~
我是 念舒_C.ying ,期待你的关注~
附专栏链接
【云原生 · Kubernetes】部署 kube-proxy 组件
【云原生 · Kubernetes】部署高可用kube-scheduler集群
【云原生 · Kubernetes】部署高可用 kube-controller-manager 集群
【云原生 · Kubernetes】runtime组件
【云原生 · Kubernetes】apiserver高可用
【OpenStack云平台】网络控制节点 HA 集群配置的更多相关文章
- OpenStack云平台网络模式及其工作机制
转自:http://openstack.csdn.net/content.html?arcid=2808381 OpenStack云平台网络模式及其工作机制 网络,是OpenStack的部署中最容易出 ...
- hadoop入门手册2:hadoop【2.7.1】【多节点】集群配置【必知配置知识2】
问题导读 1.如何实现检测NodeManagers健康?2.配置ssh互信的作用是什么?3.启动.停止hdfs有哪些方式? 上篇: hadoop[2.7.1][多节点]集群配置[必知配置知识1]htt ...
- hadoop入门手册1:hadoop【2.7.1】【多节点】集群配置【必知配置知识1】
问题导读 1.说说你对集群配置的认识?2.集群配置的配置项你了解多少?3.下面内容让你对集群的配置有了什么新的认识? 目的 目的1:这个文档描述了如何安装配置hadoop集群,从几个节点到上千节点.为 ...
- Kafka单节点及集群配置安装
一.单节点 1.上传Kafka安装包到Linux系统[当前为Centos7]. 2.解压,配置conf/server.property. 2.1配置broker.id 2.2配置log.dirs 2. ...
- Linux系统构架 - HA集群配置
一.安装 HA 即(high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 ...
- OpenStack——云平台部署
一.配置网络 准备:安装两台最小化的CentOS7.2的虚拟机,分别添加两张网卡,分别为仅主机模式和NAT模式,并且计算节点设置为4G运行内存,50G硬盘 1.控制节点--配置网络 控制节点第一个网卡 ...
- 项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
上次的博文项目进阶 之 集群环境搭建(二)MySQL集群中,我们搭建了一个基础的MySQL集群,这篇博客咱们继续讲解MySQL集群的相关内容,同时针对上一篇遗留的问题提出一个解决方案. 1.单管理节点 ...
- ElasticSearch(十):Elasticsearch集群配置
我本地虚拟机配置了两台centos机器,分别安装了elasticsearch6.4.0版本,IP分别为:192.168.56.12, 192.168.56.13 分别修改两个机器上Elasticsea ...
- Elasticsearch 第九篇:集群配置与搭建
h2.post_title { background-color: rgba(43, 102, 149, 1); color: rgba(255, 255, 255, 1); font-size: 1 ...
- 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置
本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...
随机推荐
- 百度松果菁英班OJ【连载】
第十六周 2 的 n 次幂 高精度乘法 #include<bits/stdc++.h> using namespace std; vector<int> mul(vector& ...
- c#中容易被忽视的foreach
有句俗语:百姓日用而不知.我们c#程序员很喜欢,也非常习惯地用foreach.今天呢,我就带大家一起探索foreach,走,开始我们的旅程. 一.for语句用的好好的,为什么要提供一个foreach? ...
- K8S Pod Pending 故障原因及解决方案
文章转载自:https://mp.weixin.qq.com/s/SBpnxLfMq4Ubsvg5WH89lA
- 讲讲 tcp_tw_recycle,tcp_tw_reuse
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485332&idx=1&sn=59823ce1 ...
- Django环境安装
1.安装Django # 自动安装PyPi提供的最新版本 pip install django # 安装指定版本 pip install django==2.2 # 验证安装 >>> ...
- PostgreSQL 删除表格
PostgreSQL 使用 DROP TABLE 语句来删除表格,包含表格数据.规则.触发器等,所以删除表格要慎重,删除后所有信息就消失了. 语法 DROP TABLE 语法格式如下: DROP TA ...
- Makfile总结
Makfile总结 在前面的三篇文章彻底掌握Makefile(一).彻底掌握Makefile(二)和彻底掌握Makeifle(三)当中我们仔细介绍了Makefile各种使用方法,在本篇文章当中主要是对 ...
- 洛谷P3381 (最小费用最大流模板)
记得把数组开大一点,不然就RE了... 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define int long long 4 ...
- javaweb 导出文件名乱码的问题解决方案
fileName = new String(fileName.getBytes("ISO8859-1"), "UTF-8"); 或者 String finalF ...
- MyBatis(入参的类型和日志记录)
入参的类型是对象 1. 新增的参数是对象 2. 空值的处理,占位符 字段,jdbcType=VARCHAR 字符串 字段,jdbcType=DATE ...