个人名片:
因为云计算成为了监控工程师‍
个人博客:念舒_C.ying
CSDN主页️:念舒_C.ying

网络控制节点运行在管理网络和数据网络中,如果虚拟机实例要连接到互联网,网络控制节点也需要具备互联网连接。

注意

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 集群配置的更多相关文章

  1. OpenStack云平台网络模式及其工作机制

    转自:http://openstack.csdn.net/content.html?arcid=2808381 OpenStack云平台网络模式及其工作机制 网络,是OpenStack的部署中最容易出 ...

  2. hadoop入门手册2:hadoop【2.7.1】【多节点】集群配置【必知配置知识2】

    问题导读 1.如何实现检测NodeManagers健康?2.配置ssh互信的作用是什么?3.启动.停止hdfs有哪些方式? 上篇: hadoop[2.7.1][多节点]集群配置[必知配置知识1]htt ...

  3. hadoop入门手册1:hadoop【2.7.1】【多节点】集群配置【必知配置知识1】

    问题导读 1.说说你对集群配置的认识?2.集群配置的配置项你了解多少?3.下面内容让你对集群的配置有了什么新的认识? 目的 目的1:这个文档描述了如何安装配置hadoop集群,从几个节点到上千节点.为 ...

  4. Kafka单节点及集群配置安装

    一.单节点 1.上传Kafka安装包到Linux系统[当前为Centos7]. 2.解压,配置conf/server.property. 2.1配置broker.id 2.2配置log.dirs 2. ...

  5. Linux系统构架 - HA集群配置

    一.安装 HA 即(high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 ...

  6. OpenStack——云平台部署

    一.配置网络 准备:安装两台最小化的CentOS7.2的虚拟机,分别添加两张网卡,分别为仅主机模式和NAT模式,并且计算节点设置为4G运行内存,50G硬盘 1.控制节点--配置网络 控制节点第一个网卡 ...

  7. 项目进阶 之 集群环境搭建(三)多管理节点MySQL集群

    上次的博文项目进阶 之 集群环境搭建(二)MySQL集群中,我们搭建了一个基础的MySQL集群,这篇博客咱们继续讲解MySQL集群的相关内容,同时针对上一篇遗留的问题提出一个解决方案. 1.单管理节点 ...

  8. ElasticSearch(十):Elasticsearch集群配置

    我本地虚拟机配置了两台centos机器,分别安装了elasticsearch6.4.0版本,IP分别为:192.168.56.12, 192.168.56.13 分别修改两个机器上Elasticsea ...

  9. Elasticsearch 第九篇:集群配置与搭建

    h2.post_title { background-color: rgba(43, 102, 149, 1); color: rgba(255, 255, 255, 1); font-size: 1 ...

  10. 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

随机推荐

  1. 第十五章 部署zookeeper集群

    1.集群规划 主机名 角色 IP hdss7-11.host.com k8s代理节点1.zk1 10.4.7.11 hdss7-12.host.com k8s代理节点2.zk2 10.4.7.12 h ...

  2. python一招完美搞定Chromedriver的自动更新

    日常的web自动化过程中,我们常常用python selenium库来操纵Chrome浏览器实现网页的自动化.这其中有个比较头疼的问题:Chrome的更新频率非常频繁,与之对应的Chromedrive ...

  3. 2020年12月-第01阶段-前端基础-HTML CSS 项目阶段(一)

    品优购项目(一) 目标: 能会引入ico图标 能简单看懂网站优化的三大标签 能使用字体图标 ( 重点 ) 能说出我们css属性书写顺序 1. 品优购项目介绍 项目名称:品优购 项目描述:品优购是一个电 ...

  4. Elasticsearch:IK中文分词器

    Elasticsearch内置的分词器对中文不友好,只会一个字一个字的分,无法形成词语,比如: POST /_analyze { "text": "我爱北京天安门&quo ...

  5. Gitlab基础知识介绍

    GitLab架构图 Gitlab各组件作用 -Nginx:静态web服务器. -gitlab-shell:用于处理Git命令和修改authorized keys列表. -gitlab-workhors ...

  6. Fluentd直接传输日志给MongoDB (standalone)

    官方文档地址:https://docs.fluentd.org/output/mongo td-agent版本默认没有包含out_mongo插件,需要安装这个插件才能使用 使用的是td-agent,安 ...

  7. 《Thinking In Java》作者:不要使用并发!

    前言 今天纯粹就是带你们来读读书的~ 最近除了工作,特地买回了自己很喜欢的作者新发售的一本书<On Java>,作者是我的老朋友布鲁斯·埃克尔,在Java领域很有名,你可能没听过他的名字, ...

  8. P5431 【模板】乘法逆元 2

    1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N = 5e6 ...

  9. gradle项目对比maven项目的目录架构以及对gradle wrapper的理解

    转载请注明出处: 1.使用 idea 搭建 gradle项目 注意 type 选择 gradle 以及 language 选择 grooy                       搭建后的项目架构 ...

  10. Spring MVC(配置、入门)

      Spring MVC 框架的模块    什么是Spring的MVC框架? Spring 配备构建Web 应用的全功能MVC框架.Spring可以很便捷地和其他MVC框架集成,如Struts,Spr ...