中小型公司如何搭建运维平台,rancher、kubersphere、rainbond

news2024/9/29 15:24:49

很多开发人员应该是了解过运维发布相关的平台或实际操作过应用发布,但又通常不是十分熟悉。在一个初创公司,或者没有成熟的运维发布平台的公司,如果让你来搭建一套发布平台,你应该如何去抉择呢?

这里我简单介绍几种。

Tomcat + nginx

有不少公司在初期项目数量很少时有使用这种方式的,一两台云服务器,把项目打个jar上传上去,启动起来完事,主打一个简单便捷。其实这种方式在不少情况下还是不错的选择,并不是所有公司都适合docker、k8s那一套的,这样比较节省服务器资源,low是low了点,适应自己就行。

docker、docker compose

服务器上装个docker,然后把项目代码打成容器镜像,在服务器上运行镜像。

这种方式也有不少开发者在使用,代码打成镜像可以选用阿里云的容器镜像服务,有免费的也有收费的方式,指定代码地址编写Dockerfile即可打成镜像供服务器使用。

纯命令行形式的docker方式其实我不太赞成,毕竟没有可视化界面就很难把控服务的运行状态,以及启动、关闭等操作还得敲命令挺麻烦的,推荐使用portainer这种简易的容器管理界面平台进行管理。操作、查看日志都比较方便。portainer操作简单,功能也不多,基本就是docker的基本管理。

rancher1.6平台

rancher1.6是我长期使用的、也认为是非常适合于中小规模的公司作为企业发布平台,之前曾经写过多篇rancher的使用教程,虽然目前rancher官方已经停止维护1.6版本,而全面转向k8s的2.x版本,但是1.6依旧是可以使用的,目前直接docker pull rancher还是拉取的是1.6版本。

之前的rancher安装教程:安装配置Rancher管理docker-CSDN博客

rancher1.6采用自己的cattle编排方式,通过设置镜像地址的方式来启动各个容器,大家仍然可以采用阿里云容器镜像服务来进行镜像的制作,然后在rancher上添加服务、设置镜像地址即可。

rancher里面还有添加服务依赖的功能,可以将多个服务关联起来,从而进行容器间的服务调用而无需设置IP就能进行访问。同时里面还内置了负载均衡器,可以将服务暴露到外网,作为反向代理进行使用,类似于k8s的ingress的功能。

rancher用来管理规模不大,如50台以下的服务器集群,进行应用服务的容器化编排,其实是非常合适的。内置的编排方式cattle其实是很不错的,和k8s很类似,但整体的学习成本使用成本可比k8s简单太多了,没那么多概念需要理解,上手半小时就能直接进行运维了,而k8s光学习就得好几天。

对于规模不大的服务,可以选择rancher1.6作为发布运维平台。

k8s原生

这年头作为开发要是不会k8s感觉都不好意思跟人打招呼一样,无论多小的公司、三两个服务也得上k8s,对此我只想说,你开心就好。

技术很难,但在合适的场景下能做出正确的选择更重要,过度设计比不会设计更可怕。

目前k8s肯定是主流的运维发布首选,但在上k8s之前,建议还是先考虑考虑是不是有必要性,如果就没几个服务,也不要强行就上springcloud、dubbo之类的微服务框架,至少rancher1.6就可以搞定大部分的场景了。k8s和k3s差不多,有时上个k3s也可以。

这玩意自己搭建的话说实话有点麻烦的,尤其是原生搭建,不建议开发自行尝试,一来要好几台服务器,二来确实步骤多很麻烦,一上来就搭建k8s环境,网上搜很多教程,又搞不成功就容易把你劝退。

目前国内有几个比较成熟的一站式k8s环境搭建的方式,譬如kubersphere、rancher2、rainbond都提供了自己的快速搭建k8s集群的功能,大家访问他们的官网就能看到。如果是用的云服务,那么阿里云的ACK也是搭建好的k8s环境,这些都可以避免手工搭建k8s环境的困难。

如果你头铁,就是要自己在空的服务器上搭建,那么也可以尝试,仅学习即可,学几个命令,搞不定也没关系,反正日后大概率不会用原生的命令部署啥的。

kubersphere、rancher、rainbond

这三个都是开源免费平台,都是用来搭建、管理k8s集群的,但都侧重点不同。

如果你就是普通的开发,想快速的构建起k8s平台并发布运维项目,也不想去学习那么多的k8s的概念,什么deployment、service、ingress等等,也不愿意去学,那么rainbond非常适合你,Rainbond是什么? | Rainbond

它和rancher1.6类似,都是非常容易上手的平台,在自己本机就能搭建起k8s环境并进行发布、管理。也支持发布容器镜像、代码源构建、应用市场等多种来源的应用构建,也支持服务依赖(和rancher1.6的应用关联类似),整体还是比较容易上手的。其中服务间通信也提供了service mesh和k8s原生两种方式。整体我比较推荐rainbond,因为难度最低,对开发来说不需要懂k8s就可以快速上手。

而kubersphere和rancher2.x也都是比较流行的k8s管理平台,其中rancher还创造了k3s。这两个平台我都用过,但都有相当的难度。kubersphere基本上就是把k8s的各个概念组件给界面化了,你需要了解deployment、service等各个k8s的概念才能玩的转,而且查看日志很不方便,里面还需要手工编写一些k8s的yml文件才能发布启动,整体我感觉不适合新手开发。

rancher相对来说不需要手工写一些配置,但也是暴露了很多k8s的概念在里面,你还是需要懂service、ingress等,不然还是跑不起来。

kubersphere和rancher我理解就是将k8s的各个功能给界面化了,并且提供了快速部署起k8s集群的能力,都有相当的操作使用复杂度,对于开发人员来说,并不是很容易。

综上,对于一个尚未有完善运维发布平台的公司,而且后续也不打算招专门的运维人员的场景下,如果规模不大,机器也不多,我建议使用rancher1.6,如果稍复杂,并期望用k8s,我建议上rainbond。并且建议用阿里云的容器镜像服务来进行代码的打包镜像化,不太建议自建jenkins搞流水线那套,运维平台只负责发镜像搞服务关联即可。

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

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

相关文章

“大型”基础模型中幻觉的调查

Abstract 基础模型 (FM) 中的幻觉是指生成偏离事实或包含捏造信息的内容。这篇调查论文广泛概述了近期旨在识别、阐明和解决幻觉问题的努力,特别关注“大型”基础模型(LFM)。该论文对LFM特有的各种类型的幻觉现象进行了分类,并建…

Mybatis 源码搭建

文章目录 源码下载测试模块搭建学习博客 源码下载 首先下载mybatis-parent的源码:gitee地址 > https://gitee.com/callback_lab/mybatis-parent.git 然后下载mybatis的源码:gitee地址 > https://gitee.com/callback_lab/mybatis-src.git 带中文…

pandas(八)--实战一下

背景 收到一批数据,数据形式。采集数据的间隔时间是10分钟,全天采集数据,每天的数据量是144条 处理后的数据形式 分析 去除表格中的q的异常值,置为0去除重复行将原始表格中的date分裂成日期和时间缺失的时间点数据补0&#x…

最新的外贸自建站教程?做外贸如何建网站?

外贸自建站教程步骤有哪些?海洋建站如何做网站搭建? 想要了解关于外贸自建站的最新教程吗?外贸自建站不再是高不可攀的难题,相反,它为企业提供了更多的机会和自主掌握业务的空间。海洋建站将为您提供一份全面的指南&a…

山寨Stream API设计分析

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 私以为,Jav…

多类场景、遍布各地,融云 IM 支撑多款应用全球增长

(全网都在找的《社交泛娱乐出海作战地图》,点击获取👆) 无论是面向企业场景的工作流协同还是消费场景的网络效应形成,商务社交还是陌生人社交,IM 都是必备组件。IM 遍布互联网各角落,出现在所有…

超声波雪深监测站冬季雪景的智能守护者

随着冬季的到来,白雪皑皑的景象让人感到无比美丽。然而,雪景的美丽却给人们的生活和出行带来了一定的困扰。雪的深度和分布是影响道路交通、公共安全和旅游体验的关键因素。为了解决这一问题,WX-XS1 超声波雪深监测站在冬季应运而生&#xff…

Nvidia VPI 双目相机生成深度图

nVidia VPI(Vision Programming Interface)提供了多种后端,用于执行图像处理和计算机视觉操作。不同的后端针对不同的硬件和用例进行了优化。这些后端包括: 1. CPU: 这是最通用的后端,它运行在标准的中央处理器&#…

【2023CANN训练营第二季】——Ascend C自定义算子工程介绍及实验

一、自定义算子工程介绍与创建 自定义算子工程是一个包含用户编写的host侧和kerne|侧算子实现文件的,用于编译和安装自定义算子run包的工程框架。 CANN软件包中提供了工程创建工具msopgen,开发者可以输入算子原型定义文件生成Ascend C算子开发工程。 需…

AMP State Evolution的计算:以伯努利先验为例

AMP State Evolution (SE)的计算 t 1 t1 t1时, E ( t ) E [ X 2 ] \mathcal E^{(t)} \mathbb E [X^2] E(t)E[X2],SE的迭代式为 τ r ( t ) σ 2 1 δ E ( t ) E ( t 1 ) E ∣ η ( t ) ( X Z ) − X ∣ 2 , Z ∼ N ( 0 , τ r ( t ) ) \begin{a…

盘点72个Android系统源码安卓爱好者不容错过

盘点72个Android系统源码安卓爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 链接:https://pan.baidu.com/s/1qiWeLjF2i4dlgmTYgPPSvw?pwd8888 提取码:8888 项目名称 A keyboardlisten…

AIGC系列之:升级版的Stable Diffusion之SDXL介绍

目录 AIGC工具对比 DALL-E MidJourney Stable Diffusion 相关资料 SDXL介绍 SDXL生图效果 SDXL训练LoRA流程 AIGC工具对比 在目前的三大新兴文本转图像模型中,Stable Diffusion诞生得最晚,但由于拥有发展良好的开源社区,它的用户关注…

Linux系统安装Docker-根据官方教程教程(以Ubuntu为例)

Linux系统安装Docker-根据官方教程教程(以Ubuntu为例) 1. 背景介绍2. 环境配置2.1 软件环境要求2.2 软件下载2.3 文档地址2.3 必备命令工具下载 3. 安装Docker3.1 使用root用户操作后续命令3.2 卸载可能存在的旧版本 4. 安装Docker4.1 更新依赖包4.4 配置…

530. 二叉搜索树的最小绝对差 在java中,一个类里面的属性,直接定义在类下面和定义在该类的方法里,有什么区别

530. 二叉搜索树的最小绝对差 原题链接:完成情况:解题思路:参考代码:错误经验吸取在java中,一个类里面的属性,直接定义在类下面和定义在该类的方法里,有什么区别??&…

webshell之反射免杀

主要讲解反射在webshell中的利用,以及反射绕过杀软的利用与原理 原始反射马 免杀效果: 特征太明显里面还有java.lang.Runtime,getRuntime,exec这些敏感内容,由于与反射相关的参数都是字符串,由此我们能操作的空间就很…

接口01-Java

接口-Java 一、引入(快速入门案例)二、接口介绍1、概念2、语法 三、应用场景四、接口使用注意事项五、练习题1 一、引入(快速入门案例) usb插槽就是现实中的接口。 你可以把手机、相机、u盘都插在usb插槽上,而不用担心那个插槽是专门插哪个的,原因是做u…

2023年【危险化学品经营单位安全管理人员】考试总结及危险化学品经营单位安全管理人员模拟试题

题库来源:安全生产模拟考试一点通公众号小程序 2023年【危险化学品经营单位安全管理人员】考试总结及危险化学品经营单位安全管理人员模拟试题,包含危险化学品经营单位安全管理人员考试总结答案和解析及危险化学品经营单位安全管理人员模拟试题练习。安…

.NET6实现破解Modbus poll点表配置文件

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !序言 Modbus 协议是工控领域常见…

jq+canvas:实现图片上传+裁剪+保存等功能

效果图 上传图片之前&#xff1a; 上传图片之后&#xff0c;点击放大/缩小后的效果&#xff1a; 裁剪之后的效果&#xff1a; 代码实现如下&#xff1a; 1.html部分 <input type"file" id"fileInput" accept"image/png, image/gif, image/j…

GDOUCTF2023-Reverse WP

文章目录 [GDOUCTF 2023]Check_Your_Luck[GDOUCTF 2023]Tea[GDOUCTF 2023]easy_pyc[GDOUCTF 2023]doublegame[GDOUCTF 2023]L&#xff01;s&#xff01;[GDOUCTF 2023]润&#xff01;附 [GDOUCTF 2023]Check_Your_Luck 根据 if 使用z3约束求解器。 EXP&#xff1a; from z3 i…