云计算:Linux 部署 OVN 集群

2024-04-14 15:04
文章标签 linux 部署 集群 计算 ovn

本文主要是介绍云计算:Linux 部署 OVN 集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、实验

1.环境

2.Linux 部署 OVN 集群(中心端)

3.Linux 部署 OVN 集群(业务端1)

4.Linux 部署 OVN 集群(业务端2)

4.OVN 中心端 连接数据库

5.OVN 业务端1 加⼊控制器

6.OVN 业务端2 加⼊控制器

7.OVN 集群查看

二、问题

1.南向控制器节点名称报错


一、实验

1.环境

(1) 主机

表1 主机

主机架构软件主要服务IP备注
ovn_central中心端

ovn-central

openvswitch

ovn-northd(控制平面层)

ovn-controller

192.168.204.64

ovn-nbctl(北向控制器)

ovn-sbctl(南向控制器)

ovn_node01业务端1

openvswitch

libvirt

ovn-controller

openvswitch

libvirtd

192.168.204.65

ovn_node02业务端2

openvswitch

libvirt

ovn-controller

openvswitch

libvirtd

192.168.204.66

(2) 修改hostname

ovs_central

hostnamectl set-hostname ovn_central && bash

ovn_node01

hostnamectl set-hostname ovn_node01 && bash

ovn_node02

hostnamectl set-hostname ovn_node02 && bash

(3) 修改hosts

vim /etc/hosts

① ovs_central

修改前:

修改后:

② ovn_node01

 修改前:

修改后:

③ ovn_node02

 修改前:

修改后:

2.Linux 部署 OVN 集群(中心端)

(1)查阅

1)官方安装文档
https://github.com/ovn-org/ovn/blob/main/Documentation/intro/install/general.rst

(2)删除旧repo

rm -rf /etc/yum.repos.d/*

(3)上传新repo

ls /etc/yum.repos.d/

(4)更新yum源

yum clean all && yum makecache

(5)更新内核

 yum upgrade -y --nogpgcheck

完成:

(6)安装软件包

yum install -y openssl-devel kernel-devel openvswitch openvswitch-devel openvswitch-ipsec openvswitch-test  openvswitch-ovn-common openvswitch-ovn-host libibverbs  --nogpgcheck

完成:

(7)启动服务

systemctl start openvswitch.service && systemctl enable openvswitch.service

(8)查看OVS

ovs-vsctl  show

(9)安装ovn-central

yum install -y ovn-central --nogpgcheck

(10)启动服务

systemctl start ovn-northd.service &&  systemctl enable  ovn-northd.servicesystemctl start ovn-controller.service &&  systemctl enable  ovn-controller.service

北向进程ovn-northd.service

控制进程ovn-controller.service

(11)关闭防火墙并查看

关闭

systemctl stop firewalld && systemctl disable firewalld

查看

systemctl status firewalld

(12)验证

目前为空

ovn-nbctl  show
ovn-sbctl  show

(13)查看服务

systemctl list-units | grep -i ovn

(14)确认服务状态

systemctl  is-active ovn-northd.service
systemctl  is-active ovn-controller.service

3.Linux 部署 OVN 集群(业务端1)

(1) 删除旧repo

rm -rf /etc/yum.repos.d/*

(2)上传新repo

ls /etc/yum.repos.d/

(3)更新yum源

yum clean all && yum makecache

(4)更新内核

 yum upgrade -y --nogpgcheck

完成:

(5)安装软件包

yum install -y openssl-devel kernel-devel openvswitch openvswitch-devel openvswitch-ipsec openvswitch-test  openvswitch-ovn-common openvswitch-ovn-host libibverbs  --nogpgcheck

完成:

(6)启动服务

systemctl start openvswitch.service && systemctl enable openvswitch.service
systemctl start ovn-controller.service &&  systemctl enable  ovn-controller.service

 (7)查看OVS

ovs-vsctl  show

(8)确认服务状态

systemctl  is-active openvswitch.service
systemctl  is-active ovn-controller.service

(9) 关闭防火墙并查看

关闭

systemctl stop firewalld && systemctl disable firewalld

 查看

systemctl status firewalld

(10)安装libvirt

yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer --nogpgcheck

完成:

(11)启动libvirtd服务

 systemctl start libvirtd && systemctl enable libvirtd

4.Linux 部署 OVN 集群(业务端2)

 (1) 删除旧repo

rm -rf /etc/yum.repos.d/*

(2)上传新repo

ls /etc/yum.repos.d/

(3)更新yum源

yum clean all && yum makecache

(4)更新内核

 yum upgrade -y --nogpgcheck

完成:

(5)安装软件包

yum install -y openssl-devel kernel-devel openvswitch openvswitch-devel openvswitch-ipsec openvswitch-test  openvswitch-ovn-common openvswitch-ovn-host libibverbs  --nogpgcheck

完成:

(6)启动服务

systemctl start openvswitch.service && systemctl enable openvswitch.service
systemctl start ovn-controller.service &&  systemctl enable  ovn-controller.service

 (7)查看OVS

ovs-vsctl  show

(8)确认服务状态

systemctl  is-active openvswitch.service
systemctl  is-active ovn-controller.service

(9) 关闭防火墙并查看

关闭

systemctl stop firewalld && systemctl disable firewalld

 查看

systemctl status firewalld

(10)安装libvirt

yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer --nogpgcheck

完成:

(11)启动libvirtd服务

 systemctl start libvirtd && systemctl enable libvirtd

4.OVN 中心端 连接数据库

(1)监听OVN北向数据库

ovn-nbctl set-connection ptcp:6641:192.168.204.64

(2)监听OVN南向数据库

 ovn-sbctl set-connection ptcp:6642:192.168.204.64

(3)查看端口

netstat  -nltp | grep ovsdb-server 

5.OVN 业务端1 加⼊控制器

(1)加入控制器南向接口

ovs-vsctl set open . external-ids:ovn-remote=tcp:192.168.204.64:6642

(2)设置OVN系统ID

 ovs-vsctl set open . external-ids:system-id=node01

(3)设置OVN控制消息封装模式

ovs-vsctl set open . external-ids:ovn-encap-type=geneve

(4)设置OVN本地连接地址

ovs-vsctl set open . external-ids:ovn-encap-ip=192.168.204.65

(5)监听端口

netstat -antp | grep 6642

 (6)查看OVS

ovn_node01

ovs-vsctl show

已⾃动建⽴分布式全互联管理综合⽹桥br-int

6.OVN 业务端2 加⼊控制器

 (1)加入控制器南向接口

ovs-vsctl set open . external-ids:ovn-remote=tcp:192.168.204.64:6642

(2)设置OVN系统ID

 ovs-vsctl set open . external-ids:system-id=node02

(3)设置OVN控制消息封装模式

ovs-vsctl set open . external-ids:ovn-encap-type=geneve

(4)设置OVN本地连接地址

ovs-vsctl set open . external-ids:ovn-encap-ip=192.168.204.66

(5)监听端口

netstat -antp | grep 6642

(6)查看OVS

ovn_node02

ovs-vsctl show

已⾃动建⽴分布式全互联管理综合⽹桥br-int

7.OVN 集群查看

(1) 中心端查看北向控制器

目前为空

ovn-nbctl  show

(2) 中心端查看南向控制器

已更新

ovn-sbctl  show

(3)中心端监听OVN南向数据库

netstat -antp | grep 6642

(3)业务端查看隧道接⼝

ip link | grep gene

ovn_node01

ovn_node02

(4)业务端查看Geneve协议

ip -d link show  genev_sys_6081

ovn_node01

ovn_node02

(5)业务端查看Geneve端口

ovn_node01

ovn_node02

二、问题

1.南向控制器节点名称报错

(1)报错

 ovn_central

Chassis "a01fe9cb-463f-4d2d-b3bb-810b6a923a01"
……
Chassis "37752d67-f6d8-47b7-9ce0-248eb2c1f1fc"
……

 ovn_node01

……
Port "ovn-37752d-0"
……

 ovn_node02

……
Port "ovn-a01fe9-0"
……

(2)原因分析

系统重启后,OVN系统ID丢失。

(3)解决方法

设置OVN系统ID,名字显示为Chassis:

 ovn_node01

ovs-vsctl set open . external-ids:system-id=node01
ovs-vsctl  show

ovn_node02

ovs-vsctl set open . external-ids:system-id=node02
ovs-vsctl  show

 ovn_central

这篇关于云计算:Linux 部署 OVN 集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903298

相关文章

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2