Rancher:外部服务连接K8S-MongoDB服务

news2024/11/25 15:31:55

Rancher:外部服务请求K8S-MongoDB服务

    • 一、前置条件
    • 二、「Layer 4 」与「Layer 7」Load Balancing的区别
    • 三、部署容器化MongoDB
    • 四、Load Banlancer of Service
    • 五、mongoDB验证连接
    • 六、总结

#参考链接
[1] How access MongoDB in Kubernetes from outside the cluster
[2] cannot connect to mongo-express behind ingress k8s
[3] Defining a Service

一、前置条件

1、K8S集群支持7层负载均衡
2、Rancher容器管理平台
3、对K8S中的ServicePodingress 等概念有一定的了解

二、「Layer 4 」与「Layer 7」Load Balancing的区别

在负载均衡(Load Balancing)中,4层(Layer 4)和7层(Layer 7)是两个常用的概念,指的是负载均衡器在网络协议栈的不同层级上进行负载均衡的方式。
在这里插入图片描述

负载方式描述
Layer 4 Load Balancing4层负载均衡是在传输层(Transport Layer)进行负载均衡的一种方式。传输层负载均衡器通常根据源IP地址、目标IP地址、端口号等传输层的信息来进行负载均衡决策。这种负载均衡方式不关心传输层以上的应用层协议和数据内容,只根据传输层的信息进行转发和分发请求。
Layer 7 Load Balancing7负载均衡是在应用层(Application Layer)进行负载均衡的一种方式。应用层负载均衡器可以深入解析请求的应用层协议,如HTTP、HTTPS等,并根据请求的内容、URL、HTTP头部等更详细的信息来进行负载均衡决策。这种负载均衡方式可以实现更精细的请求转发和应用层的处理,比如基于URL路径的转发、基于请求内容的负载均衡等。

三、部署容器化MongoDB

方式一、mongodb.yaml配置信息涉及公司信息,此处不提供。可以参考Docker Hub的官网获取基本镜像进行部署:https://hub.docker.com/_/mongo/tags
在这里插入图片描述
方式二、 在本地构建拉取mongodb镜像,然后推送到阿里云ACR容器服务中心,在Rancher中配置aliyun鉴权配置后,可以直接拉取到aliyun的镜像进行部署在这里插入图片描述

四、Load Banlancer of Service

创建LB-Service,类型是Load Balancer类型的Service在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关于Selectorskey、value应该从哪里取?可以前往mongodb服务的yaml配置中获取:
在这里插入图片描述
labelsselector配置项的子级中可以找到key、value
在这里插入图片描述

五、mongoDB验证连接

连接地址由两部分组成:{集群IP}:{port}
在这里插入图片描述使用MongoDB Compass客户端连接:
在这里插入图片描述

调试结果:连接成功在这里插入图片描述

六、总结

在配置mongoDB映射到公网的时候,起初是使用Ingress Controller的方式去实现的,通过Ingress的负载方式是专门用于HTTP协议的服务,例如:Springboot应用、Django应用,而mongoDB服务它用的是mongo协议(详见:https://stackoverflow.com/questions/57623894/how-access-mongodb-in-kubernetes-from-outside-the-cluster),所以使用MongoDB Compass客户端无法连接mongoDB服务。
最后是在Stackover Flow上看到了解释,转而调整方向使用Service实现。

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

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

相关文章

树莓派4B多串口配置

0. 实验准备以及原理 0.1 实验准备 安装树莓派官方系统的树莓派 4B,有 python 环境,安装了 serial 库 杜邦线若干 屏幕或者可以使用 VNC 进入到树莓派的图形界面 0.2 原理 树莓派 4B 有 UART0(PL011)、UART1(mini …

腾讯安全周斌:用模型对抗,构建新一代业务风控免疫力

6月13日,腾讯安全联合IDC发布“数字安全免疫力”模型框架,主张将守护企业数据和数字业务两大资产作为企业安全建设的核心目标。腾讯安全副总裁周斌出席研讨论坛并发表主题演讲,他表示,在新技术的趋势影响下,黑灰产的攻…

TS系列之any与unknown详解,示例

文章目录 前言一、一个示例二、示例目的1、功能描述2、主要区别3、代码实现 总结 前言 本片文章主要是在写ts时遇到不知道类型,很容易就想到用any可以解决一切,但这样写并不好。所以今天就总结学习一下,比较好的处理任意类型的unknown。 一、…

patroni+etcd+antdb高可用

patronietcdantdb高可用架构图 Patroni组件功能 自动创建并管理主备流复制集群,并且通过api接口往dcs(Distributed Configuration Store,通常指etcd、zookeeper、consul等基于Raft协议的键值存储)读取以及更新键值来维护集群的状态。键值包括集群状态、…

MySQL ibdata1 文件“减肥”记

夏天来了,没想到连 ibdata1 文件也要开始“减肥”了~ 作者:杨彩琳 爱可生华东交付部 DBA,主要负责 MySQL 日常问题处理及 DMP 产品支持。爱好跳舞,追剧。 本文来源:原创投稿 有句话是这么说的:“在 InnoDB…

深入分析 Java IO (一)概述

目录 一、前言 二、基于字节操作的接口 2.1、字节输入流 2.2、字节输出流 三、基于字符操作的接口 3.1、字符输入流 3.2、字符输出流 四、字节与字符的转化 4.1、输入流转化过程 4.2、输出流转化过程 五、基于磁盘操作的接口 六、基于网络操作的接口 6.1、Socket简…

接口自动化测试框架?你真的会封装吗?自动化框架几大功能专项...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 当准备使用一个接…

项目经理如何做好时间管理?

1、建立时间管理原则 (1)我们需要通过时间日志的方式对时间进行记录和分析,并对日常要处理的事务进行优先级排序,优先处理最重要的事物; (2)确定待处理事物的机会成本,提高时间使用…

建模助手618 | 谁不囤点Revit插件我都会生气!

大家好,这里是建模助手。 早在5月份,我们已经就“618”这个事情高调了一番,以提前放“价”的姿势,让许多用户以躺赢的状态拉开了年中大促的序幕。(5月购买的盆友,切记看完全文,内附彩蛋 活动反…

Canal实现0侵入同步缓存数据

开启MySQL binlog功能 cd /home/mysql8/conf vim my.cnf [mysqld] log-bin/var/lib/mysql/mysql-bin # 开启 binlog binlog-formatROW # 选择 ROW 模式 server_id1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复 binlog-do-dbimooc-hire-dev # …

冰冰学习笔记:简单了解protobuf

欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位…

Fiddler(Statistics、Inspectors)详解

一、Fiddler Statistics详解 Fiddler的 Statistics 分页会统计请求和响应的一些信息。可以使用它完成简单的性能测试,查看其接口的响应时间。 如果你想学习Fiddler抓包工具,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的Fiddle…

Java 网络编程 —— RMI 框架

概述 RMI 是 Java 提供的一个完善的简单易用的远程方法调用框架,采用客户/服务器通信方式,在服务器上部署了提供各种服务的远程对象,客户端请求访问服务器上远程对象的方法,它要求客户端与服务器端都是 Java 程序 RMI 框架采用代…

提升安全性与合规性的关键工具ADAudit Plus

在当今数字化时代,企业对于安全性和合规性的要求越来越高。特别是在Active Directory(AD)域中,作为组织的核心身份验证和访问管理系统,审计活动的重要性变得前所未有。为了满足这一需求,ADAudit Plus成为了…

TwinCAT3 安装和打开项目问题记录

安装的VS版本: cn_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923256.iso 安装的TwinCAT版本: TC31-FULL-Setup.3.1.4024.29 更多的TwinCAT版本我都放在了百度云盘,有需求可以留言 4022.22 链接:https://pan.baidu.com/s/1D505FdgL7l1DAUANKb-VLg 提取…

【C++】入门基础知识详解(一)

目录 一、C关键字 二、命名空间 1、命名空间的定义 2、命名空间的使用 三、C输入&&输出 四、缺省参数 1、缺省参数的概念 2、缺省参数的分类 2.1 全缺省参数 2.2 半缺省参数 一、C关键字 我们在学习C之前,我相信大家大多数都对C语言多多少少都有所了解…

JMeter之__threadNum妙用:将接口查询结果列表按顺序赋值给各线程

使用JMeter做性能测试会遇到这么一个场景:后面的请求需要根据前面的查询列表结果通过正则表达式提取器取值后赋值,而后面用户的赋值必须是唯一的,此时该如何做? 如果按编程思维来说,这个问题并不难。只需要把前面的结…

Azkaban搭建与使用

下载最新azkaban源文件:https://github.com/azkaban/azkaban/releases 集群模式安装 1.解压 azkaban-db-3.84.4.tar.gz、 azkaban-exec-server-3.84.4.tar.gz 和 azkaban-web-server-3.84.4.tar.gz 到/opt/install/azkaban 目录下 linux>tar -zxvf azkaban-db-3…

算法:静态查找表

查找表(Search table)是由同一类型的数据元素(或记录)构成的集合。关键字(key)是数据元素中某个数据项的值,又称为键值,用它可以表示一个数据元素,也可以标识一个记录的数据项(字段&…

当深度学习撞上高性能计算,科研仿佛坐上了加速器

今天深度学习无处不在,当你打开移动终端的时候,各种APP会推荐到你喜欢的食物、你喜欢的电影,你关注的新闻热点。在生活中更是改变着我们,今天的智能语音让语言障碍破除,在预测疾病基因大数据领域预测疾病来确定药物治疗…