Rancher实用篇-使用rancher,部署微服务应用

说到rancher,我们必须先了解一下k8s


一、k8s简介

Kubernetes(通常简写为 K8s)是一个开源的容器管理系统,由Google于2014年发起,并在2015年贡献给Cloud Native Computing Foundation (CNCF)进行维护。它基于Borg项目的经验开发而来,旨在自动化部署、扩展和管理容器化应用程序。

Kubernetes 的核心价值在于:

  • 容器编排:Kubernetes 可以跨多台主机集群高效地管理和调度容器化的应用服务。

  • 弹性伸缩:根据预定义的策略自动调整应用实例的数量,确保服务在高负载时有足够的资源处理请求,在低负载时释放资源以节省成本。

  • 服务发现与负载均衡:为容器提供统一的服务发现机制,并通过内部负载均衡器将流量分配到不同容器实例上。

  • 存储卷管理:支持多种类型的持久化存储,并能动态挂载到容器中,实现数据持久化。

  • 自我修复:监控并自动恢复失败的容器,确保服务的高可用性。

  • 配置与密钥管理:支持通过ConfigMaps和Secrets来管理和分发非代码配置及敏感信息。

  • 部署策略:允许用户灵活控制应用程序版本更新的方式,包括滚动更新、蓝绿部署等。

  • API驱动:拥有强大的API,使得整个系统可以被程序化地操控和扩展。

通过Kubernetes,开发者能够以声明式的方式描述应用的运行状态和期望行为,而Kubernetes会负责实现和维护这种状态,极大地简化了容器化应用的部署、运维和生命周期管理。Kubernetes不仅支持在公有云、私有云以及混合云环境中使用,还广泛应用于数据中心和其他计算平台

现在越来越多的企业开始使用k8s,导致集群太多,管理复杂度上升,于是引进各种流水线平台,此篇文章将以rancher为例,来部署一套应用程序


二、rancher简介

  1. Rancher 是一款企业级的容器管理平台,它提供了对多个Kubernetes集群以及其他容器编排系统的统一管理和操作界面。
  2. Rancher 旨在简化Kubernetes的部署和运维工作,通过提供图形用户界面(GUI)、API 和命令行工具来方便地创建、配置、管理和监控Kubernetes集群。
  3. Rancher不仅支持托管Kubernetes,还提供了额外的功能,如多租户、安全控制、网络策略管理、持续集成/持续部署(CI/CD)流程集成等高级功能。

综上所述,Kubernetes 是底层的容器编排引擎,而 Rancher 则是一个上层的管理平台,它可以利用并封装 Kubernetes 的能力,为用户提供更加友好和便捷的方式来使用和管理 Kubernetes 集群及其中的应用程序。

rancher的搭建非常简单,网上有非常多博主写过,大家可以去参考一下,这里我就使用现有的rancher集群来进行应用的部署了, 本文章将会介绍,部署应用中,会用到的菜单以及所对应的功能

好了, 废话不多说, 咱们开始使用rancher,来部署应用


三、部署微服务应用

3.1 登录rancher

这里的登录密码, 在你初始化的时候,会让你在登陆后修改一次,在不删除容器与镜像的情况下,记住你修改后的密码就可以了,咱们使用简体中文登录,方便理解

3.2 rancher主页

如果没有集群,则根据指引, 新建一个集群,步骤比较简单,这里就不详细描述了,如果你的集群搭建不成功,基本上是两个原因:
1. 机器资源不够大,不足以支撑rancher集群的运行

2. 机器之间的网络不互通

点击左上角的三条横杠,打开菜单

点击集群

3.3 命名空间

可以给每一个项目准备一个命名空间,这样每个项目就可以隔离开来

 

3.4 存储-密文

每个命名空间可以对应多个密文,每个密文可以存储一个信息,一般我们都是在这里存储镜像仓库地址,以及账户和密码等信息,在部署项目前,在这里先创建一个密文, 用来在部署时拉取镜像的凭证

3.5 存储-配置映射

所有你需要的配置文件,例如nginx.conf、xxx.yml文件,都可以在这里创建,在部署的时候直接使用

3.6 存储-持久卷声明

这里是创建你需要的挂载的,前提你有对应的持久卷,这个也要你自己根据项目的实际情况来创建

 

3.7 服务发现-Ingresses

这里是用来配置域名的,将对应的nginx与域名做映射,就可以通过域名,访问应用了

3.8 工作负载-Deployments

这里是部署的应用,点击创建,根据我的描述填写对应的值

资源配置

这里添加应用所需要的内存,和CPU大小

挂载文件

首先要切换到pod,存储里面,将之前配置的配置文件,或者存储卷先选中

然后在容器的存储列中,将对应的配置文件挂载到相应的位置

点击保存,rancher会自动拉取对应的镜像进行启动

接下来我用一个复杂点的应用,截图来进行一个示范:

1.先绑定存储文件

2.容器列中挂载文件

3.资源配置

4.配置启动的镜像、端口、启动参数等

5.配置环境变量

6.点击保存,查看Deployments  如果是active状态,代表此应用部署成功

上面已经详细的介绍了用到的一些配置,其他应用也完全是按照这样来就可以了,希望对大家有所帮助,如有错误请指正,有问题欢迎评论!

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

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

相关文章

202427读书笔记|《猫的自信:治愈系生活哲学绘本》——吸猫指南书,感受猫咪的柔软慵懒与治愈

202427读书笔记|《猫的自信:治愈系生活哲学绘本》——吸猫指南书,感受猫咪的柔软慵懒与治愈 《猫的自信:治愈系生活哲学绘本》作者林行瑞,治愈系小漫画绘本,10分钟可以读完的一本书,线条明媚,自…

量化巨头“卖空”被刷屏!网友:又一类量化策略要“收摊”了

量化圈遇到了龙年首宗“大事件”! 2月20日晚间,沪深交易所同时出手对量化巨头灵均投资的异常交易行为进行“处理”。 沪深交易所均称发现灵均在2月19日开盘1分钟内,名下多个账户通过计算机程序自动生产交易指令,短时间大量下单卖…

公寓报修|公寓报修管理系统|基于springboot公寓报修管理系统设计与实现(源码+数据库+文档)

公寓报修管理系统目录 目录 基于springboot公寓报修管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、住户管理 2、房间管理 3、维修人员管理 4、维修分类管理 5、物品信息管理 6、维修申请管理管理 四、数据库设计 1、实体ER图 五、核心代码 六、…

IO 作业 24/2/20

一、思维导图 二、习题 #include <myhead.h> int main(int argc, const char *argv[]) {FILE *fpNULL;FILE *fqNULL;pid_t pidfork();if(pid>0){if((fpfopen("./text.txt","r"))NULL){perror("fopen error");return -1;} if((f…

鸿蒙将与安卓应用形成“硬分叉”,多家平台急聘鸿蒙开发员

最近&#xff0c;网友注意到&#xff0c;多家企业公布了鸿蒙系统有关的岗位招聘。 11 月 8 日&#xff0c;美团发布了鸿蒙高级工程师、鸿蒙基建工程师等多个鸿蒙开发相关岗位。主要开发美团鸿蒙App、大众点评鸿蒙App。 根据脉脉平台&#xff0c;美团鸿蒙基建工程师岗位给出的…

C++ 二分模版 数的范围

给定一个按照升序排列的长度为 n 的整数数组&#xff0c;以及 q 个查询。 对于每个查询&#xff0c;返回一个元素 k 的起始位置和终止位置&#xff08;位置从 0 开始计数&#xff09;。 如果数组中不存在该元素&#xff0c;则返回 -1 -1。 输入格式 第一行包含整数 n 和 q &…

JavaScript中手动实现Array.prototype.map方法

在前端开发中&#xff0c;我们经常需要对数组进行操作和处理。在JavaScript中&#xff0c;数组是常用的数据类型之一。而数组的map方法可以将一个数组中的每个元素都进行某种操作&#xff0c;并返回一个新的数组。今天&#xff0c;我们就来手动实现JavaScript中数组原型的map方…

Spring Bean 的生命周期了解么?

Spring Bean 的生命周期基本流程 一个Spring的Bean从出生到销毁的全过程就是他的整个生命周期, 整个生命周期可以大致分为3个大的阶段 : 创建 使用 销毁 还可以分为5个小步骤 : 实例化(Bean的创建) , 初始化赋值, 注册Destruction回调 , Bean的正常使用 以及 Bean的销毁 …

​ 安达发|APS排程软件的动态合并优化详解

在制造业中&#xff0c;为了提高生产效率、降低成本并满足客户需求&#xff0c;企业需要采用先进的人工智能算法APS系统。APS&#xff08;高级计划与排程&#xff09;系统作为一种强大的工具&#xff0c;可以帮助企业实现这一目标。本文将详细介绍APS排程软件的动态合并优化功能…

从零开始手写mmo游戏从框架到爆炸(十五)— 命令行客户端改造

导航&#xff1a;从零开始手写mmo游戏从框架到爆炸&#xff08;零&#xff09;—— 导航-CSDN博客 到现在&#xff0c;我们切实需要一个客户端来完整的进行英雄选择&#xff0c;选择地图&#xff0c;打怪等等功能。所以我们需要把之前极为简陋的客户端改造一下。 首先…

继续教育山东第一医科大学临床医学试题及答案,分享几个实用搜题和学习工具 #媒体#学习方法#微信

在追求知识的道路上&#xff0c;合理使用学习工具是我们必不可少的一环。 1.难试题 这是一个网站 是一家专注于学生、家长、教师等作业搜题查找答案的网站。里面有大量的2023作业题、作业答案、作业资料及2023作业详细讲解。每天都会更新很多作业题 2.灵兔搜题 这是个微信公…

力扣238和169

一&#xff1a;238. 除自身以外数组的乘积 1.1题目 1.2思路 1.3代码 //左右乘表 int* productExceptSelf(int* nums, int numsSize, int* returnSize) {int* answer (int*)malloc(numsSize*sizeof(int));int i 0;int left[numsSize],right[numsSize];left[0] 1;for(i 1;…

猫头虎分享已解决Bug || 脚本执行错误(Script Execution Failure):ScriptError, ExecutionFailure

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

IOT-Reaserch虚拟机配置

我用的是VirturalBox 主机与物理机之间的复制粘贴问题 VirtualBox Ubuntu无法安装增强功能以及无法复制粘贴踩坑记录_virtualbox安装增强功能没反应-CSDN博客 上面这篇博客帮助了我很多&#xff0c;摘取重要的重新提示一遍 运行虚拟机选择&#xff1a;设备->安装增强功能…

【字符串题目讲解】一文理解 Manacher Algoirth(马拉车算法)——以洛谷 P3805 和 P5446 为例

M a n a c h e r A l g o r i t h m \mathrm{Manacher\ Algorithm} Manacher Algorithm Manacher 算法主要是解决怎样的问题呢&#xff0c;其实是求解最长的回文串&#xff0c;但是只能找到长度为奇数的回文串&#xff0c;不过可以通过转化使得能够求解任意长度的回文串。 例…

使用智能电销机器人,拓客效果更佳!

现在很多的企业做销售都离不开电话营销&#xff0c;它是一种能够直接帮助企业获取更多利润的营销模式&#xff0c;目前被各大行业所采用。 znyx222 了解探讨 电话营销是一个压力很大的职业&#xff0c;新员工培养难度大、老员工又不好维护&#xff0c;会有情绪问题出现等&…

blasterswap明牌空投

空投要点 明牌空投&#xff0c;blaster生态第一个swap&#xff0c;应该不会寒酸交互简单&#xff0c;仅需3步&#xff0c;零gas费仅仅要求加密钱包在eth链有过交易需要有x和discord账号 blasterswap空投简介 BlasterSwap 是Blast生态里面第一个SWAP项目&#xff0c;近期启动…

【嵌入式学习】QT-Day1-Qt基础

笔记 https://lingjun.life/wiki/EmbeddedNote/20QT 毛玻璃登录界面实现&#xff1a;

Fisher-Yates乱序算法

乱序算法 public class Test07 {public static void main(String[] args) {//乱序算法int[] arr {1,2,3,4,5,6,7,8};//逆序遍历 且这个随机的下标不能使要交换的元素的本身for(int i arr.length-1;i>0;i--){//产生一个随机的下标与当前元素进行交换int index (int)(Math…

智慧公厕管理系统:让城市智慧驿站更加智慧舒适

智慧公厕管理系统是城市智慧驿站中不可或缺的一部分&#xff0c;它通过全方位的信息化解决方案&#xff0c;为公共厕所的使用、运营和管理提供了一种智能化的方式。作为城市智慧驿站的重要组成部分&#xff0c;智慧公厕管理系统发挥着重要的作用&#xff0c;为城市社会民生提供…