中间件容器化部署实现方案的前期调研

news2024/11/27 0:40:59

中间件容器化部署是为了实现GitOps模式的持续交付,实现部署即代码。痛点在于大多数中间件都是有状态的,本篇介绍如何实现有状态中间件的容器化部署。

常见中间件要实现容器化部署,需要解决以下问题:

  1. 对于网关类中间件,作为流量入口,虽然是无状态类型的中间件,但由于需要提供固定ip配置SLB,因此容器化部署就需要解决固定ip的问题。
  2. 对于存储类中间件,是有状态类型的中间件,容器重启后需要能访问同一个“持久化存储设备”,数据不容忍丢失,因此容器化部署需要解决持久化存储问题。

网关项目容器化部署解决方案

关于Ingress Controller

Ingress是k8s提供将集群内部服务(Service)暴露外部访问的定义http路由规则的资源,Ingress资源本身只是定义http路由策略,需要依赖Ingress Controller实现Ingress资源的路由策略。

Ingress Controller本身也是一个Service,通过设置Service的类型为NodePort(使用节点IP)或者ExternalIP、云服务提供商提供的LoadBalancer暴露给外部访问。
在这里插入图片描述

BFE Ingress Controller

BFE Ingress Controller是基于BFE实现的Ingress Controller,用于支持在Kubernetes中部署使用BFE进行七层流量代理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/525109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

flask实现S3 Web客户端下载文件

import io from minio import Minio from minio.error import S3Error from flask import Flask, jsonify, render_template, request, send_file# 实例化 Flask 应用 app Flask(__name__)# 配置 MinIO 客户端 minio_client Minio("192.168.2.110:58894",access_ke…

Vue CLI 初始化脚手架

3.1. 初始化脚手架 3.1.1. 说明 Vue脚手架是Vue官方提供的标准化开发工具(开发平台)最新的版本是 4.x文档 Vue CLI 3.1.2. 具体步骤 如果下载缓慢请配置npm淘宝镜像npm config set registry http://registry.npm.taobao.org全局安装 vue/cli npm ins…

Python BP算法模板

BP算法模板 神经网络结构 三大基本结构 权重(轴突、树突) 权重的矩阵表示 数值(胞体) 数值处理方式 sigmoid 函数 def __sigmoid(self,x):return 1 / (1 np.exp(-x))sigmoid 的导函数 def __sigmoid_prime(self,x):return x * (1 - x)sigmoid 函数图像 其目的是将数值限制…

Java多线程synchronized Lock volatile,看完这一篇就够了

线程安全问题 一、对线程安全的理解(实际上是内存安全)二、线程同步的实现方法synchronized实现同步Lock实现同步volatile实现同步JUC的Callable实现同步 三、守护线程四、ThreadLocal原理和使用场景五、Thread类的常用方法,以及线程的状态六…

Linux下使用Mysql 第二天

目录 Mysql数据库API库 编写hello应用链接函数库 MySQL API常用函数 总体印象 初始化 Makefile 管理 连接数据库关闭连接 读取数据 查询表数据 获取结果集 解析结果集 释放结果集 获取列数 获取表头 实例程序 MySQL tools实现 思路分析 程序实现 中文问题 …

MS iCraft Z790ITX WIFI 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板MS iCraft Z790ITX WIFI 处理器Intel Core i5-13400已驱动 内存Asgard DDR5 6400CL32 16GBx2 RGB已驱动 硬盘西数 WDS250G3X0C-00SJG0 ( SN750) …

如何设计API返回码(错误码)?

一、前言 客户端请求 API,通常需要通过返回码来判断 API 返回的结果是否符合预期,以及该如何处理返回的内容等 相信很多同学都吃过返回码定义混乱的亏,有的 API 用返回码是 int 类型,有的是 string 类型,有的用 0 表…

ansible 常用用例

目录 一、说明 二、创建 ansible 环境 三、实验操作 四、install_ansible.sh 脚本内容 一、说明 该文档是日常经常使用的模板,通过该例子让更多的初学者了解ansible 剧本的写法,很多情况,可以按照该模版来套用即可。 读者不需要下载…

6.深入理解Mysql事务隔离级别与锁机制

MySQL性能调优 1. 概述2. 事务及其ACID属性2.1并发事务带来的问题2.2 事务隔离级别 3. 锁详解3.1 锁分类3.1.1 表锁3.1.2 行锁3.1.3 间隙锁(Gap Lock)3.1.4 临键锁(Next-key Locks)3.1.5 行锁分析3.1.6 查看INFORMATION_SCHEMA系统库锁相关数据表3.1.7 死锁3.1.8 锁优化建议 4.…

iOS - postgetAFNetworking

GET和POST HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源&…

OpenGL高级-实例化

知识点 假如你有一个有许多模型的场景,而这些模型的顶点数据都一样,只是进行了不同的世界空间的变换。想象一下,有一个场景中充满了草叶:每根草都是几个三角形组成的。你可能需要绘制很多的草叶,最终一次渲染循环中就肯…

每日一练 | 华为认证真题练习Day45

1、应用数据经过数据链路层处理后一定携带了MAC地址。 A. 对 B. 错 2、某网络工程师在输入命令行时提示如下信息: Error:Unrecognized command found at’^’position. 对于该提示信息说法正确的是? A. 输入命令不完整 B. 没有查找到关键字 C. 输…

LeetCode 1054 距离相等的条形码

LeetCode 1054 距离相等的条形码 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/distant-barcodes 博主Github:https://github.com/GDUT-Rp/LeetCode 题目: 在一个仓库里,有一排条…

二叉树总结

文章目录 树需要掌握的基本概念二叉树基本特点满二叉树性质 完全二叉树性质 二叉搜索树(二叉排序树)Binary Search Tree(BST)性质 平衡二叉树性质 红黑树五大性质 B树 二叉树的存储方式链式存储顺序存储 二叉树的遍历 树需要掌握的基本概念 1、节点、根…

Python+Requests+Pytest+YAML+Allure实现接口自动化

本项目实现接口自动化的技术选型:PythonRequestsPytestYAMLAllure ,主要是针对之前开发的一个接口项目来进行学习,通过 PythonRequests 来发送和处理HTTP协议的请求接口,使用 Pytest 作为测试执行器,使用 YAML 来管理测…

如何成为Apache项目贡献者

要成为Apache Foundation的贡献者,您需要遵循以下步骤: 加入Apache社区:您需要加入Apache社区并成为一个活跃的成员。您可以通过订阅邮件列表、参加会议、参加社区活动等方式来加入社区。选择一个项目:您需要选择一个您感兴趣的A…

libevent高并发网络编程 - 03_bufferevent filter过滤器

文章目录 1. bufferevent_filter过滤器简介2. evbuffer2.1 evbuffer常用API2.2 evbuffer和bufferevent的区别 3. bufferevent filter过滤器常用API3.1 bufferevent_filter_new() 4 bufferevent filter 过滤器例子 1. bufferevent_filter过滤器简介 bufferevent filter是libeve…

探索LeetCode【0010】正则表达式匹配(未懂)

目录 0.1 题目0.2 补充示例1. 参考B站视频2. 官方答案的评论-可用3. chatGPT的思路和解法-可用 0.1 题目 题目链接:【0010】正则表达式匹配 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹…

UG NX二次开发(C++)-建模-删除对象

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、在UG NX中创建一些测试对象3、查询这些对象的继承关系3、基于C创建的方法3.1 头文件3.2 声明删除对象的方法3.3 定义删除对象的方法3.4 填写调用代码 4、…

Vue电商项目--开发Search模块

Search模块的静态组件 search模块开发? 1.先静态页面静态组件拆分出来 2.发请求(API) 3.vuex(三连环) 4.组件获取仓库数据,动态展示数据 拆分静态组件,之前搞过。现在就不搞了,…