k8s学习--负载均衡器matelLB的详细解释与安装

2024-06-07 04:44

本文主要是介绍k8s学习--负载均衡器matelLB的详细解释与安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • MetalLB介绍
    • 什么是 MetalLB
    • MetalLB 的用途
    • MetalLB 的工作模式
      • Layer 2 模式
      • BGP 模式
    • MetalLB 的应用场景
  • 安装matelLB
    • 环境
    • 环境
      • 1. 修改kube-proxy代理模式
      • 2.metallb部署
      • 3. IP地址池准备
      • 4.开启二层通告


MetalLB介绍

什么是 MetalLB

MetalLB 是一个专为 Kubernetes 设计的负载均衡器,实现了对外部流量的负载均衡,特别适用于在裸机(bare metal)环境中运行的 Kubernetes 集群。通常,云提供商会提供内置的负载均衡服务,但在裸机环境中,缺少类似的服务。MetalLB 填补了这个空白,为裸机 Kubernetes 集群提供了一种简单且有效的负载均衡解决方案。

MetalLB 的用途

外部流量负载均衡: 使 Kubernetes 集群中的服务能够通过外部 IP 地址进行访问。

高可用性: 通过负载均衡多个节点和服务实例,提高服务的可用性和可靠性。

**易于集成:**与 Kubernetes 原生的服务类型(如 LoadBalancer)无缝集成,简化了配置和管理。

MetalLB 的工作模式

MetalLB 支持两种主要的运行模式:Layer 2 模式和 BGP 模式。

Layer 2 模式

Layer 2 模式不需要任何特殊的网络设备或配置,是最简单的部署方式。
分配 IP 地址: MetalLB 从预先定义的 IP 地址池中分配 IP 地址给 LoadBalancer 服务。
ARP 通告: 当有请求进入时,MetalLB 使用 ARP(Address Resolution Protocol)通告,将请求路由到正确的节点。
流量分发: MetalLB 根据 ARP 通告,将外部流量分发到相应的服务实例。

BGP 模式

BGP(Border Gateway Protocol)模式适用于有路由器或交换机等网络设备支持 BGP 的环境。
BGP 会话: MetalLB 与网络设备建立 BGP 会话,通告负载均衡 IP 地址。
路由配置: 通过 BGP,MetalLB 动态地将流量路由到 Kubernetes 集群中的节点。
高效路由: BGP 模式能够实现更加高效和灵活的流量路由,适用于复杂的网络环境。

MetalLB 的应用场景

裸机 Kubernetes 集群: 没有云提供商负载均衡器支持的环境,通过 MetalLB 实现外部流量的负载均衡。

私有云: 在私有云环境中,通过 MetalLB 提供类似公有云的负载均衡功能。

混合云部署: 在混合云环境中,结合使用云提供商的负载均衡器和 MetalLB,提供统一的流量管理。

安装matelLB

环境

环境

Ip主机名cpu内存硬盘
192.168.10.11master012cpu双核4G100G
192.168.10.12worker012cpu双核4G100G
192.168.10.13worker022cpu双核4G100G

版本centos7.9
已部署k8s-1.27

1. 修改kube-proxy代理模式

kubectl edit configmap kube-proxy -n kube-syste

更改两处
strictARP 后的flase改为true
node 后添加ipvs
没看见往下翻

在这里插入图片描述

重启

kubectl rollout restart daemonset kube-proxy -n kube-system	

2.metallb部署

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.14.5/config/manifests/metallb-native.yaml

服务器连接不了时,可在vpn连接后,浏览器中访问https://raw.githubusercontent.com/metallb/metallb/v0.14.5/config/manifests/metallb-native.yaml
看到内容后复制创建文件

也可以使用离线下载后的文件部署

kubectl apply -f metallb-native.yaml

查看

kubectl -n metallb-system get pod

等待一会,可通过查看描述信息跟踪pod的运行状态,长时间无法完成下载时,各节点重启docker

kubectl -n metallb-system describe pod controller-6b9fd67ff4-rzvg2

3. IP地址池准备

vim ippool.yaml

addresses下是范围

apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:name: ippoolnamespace: metallb-system
spec:addresses:- 192.168.10.240-192.168.10.250

yaml应用

kubectl apply -f ippool.yaml

若出现故障提示,等上面pod全部运行起来再部署
还不行,各节点重启docker

查看地址池信息

kubectl -n metallb-system describe ipaddresspools.metallb.io ippool

在这里插入图片描述

4.开启二层通告

vim L2.yaml
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:name: examplenamespace: metallb-system

应用yaml

kubectl apply -f L2.yaml 

安装完成

这篇关于k8s学习--负载均衡器matelLB的详细解释与安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根