当前位置: 首页 > news >正文

Kubernetes 容器编排

应用程序部署演变

主要有三个演变:

传统部署:互联网早期,会直接将应用程序部署在物理机上

优点:简单,不需要其它技术的参与

缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响。

举个例子:

部署:需要生成war包:Export→ Web-WAR file→ 选择war包地址→ 生成war包

将war包上传到服务器

启动:tomcat启动

cd /home/operation/apache-tomcat-9.0.31/bin

./startup.sh

虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境 

优点:程序环境不会相互产生影响,提供了一定程度的安全性

缺点:增加了操作系统,浪费了部分资源

 容器化部署:与虚拟化类似,但是共享了操作系统。 微服务通常会被打包为容器镜像(如Docker镜像),然后在容器化平台(如Kubernetes)上部署和管理。容器提供了隔离、轻量级、一致性和可移植性的优势

优点:

可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等

运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦

容器化的应用程序可以跨云服务商、跨Linux操作系统发行版进行部署

容器化部署方式给带来很多的便利,但是也会出现一些问题,比如说:

1.一个容器故障停机了,怎么样让另外一个容器立刻启动去替补停机的容器

2. 当并发访问量变大的时候,怎么样做到横向扩展容器数量
这些容器管理的问题统称为容器编排问题,为了解决这些容器编排问题,就产生了一些容器编排的软件:

Swarm:Docker自己的容器编排工具
Mesos:Apache的一个资源统一管控的工具,需要和Marathon结合使用
Kubernetes:Google开源的的容器编排工具。容器化平台

参考:Kubernetes详细笔记_kubernetes笔记-CSDN博客 

怎么将传统的物理机器部署转为微服务

1. dockerfile

2. 容器化

3. 流量迁移到微服务

4. 下线传统的

相关文章:

  • CS西电高悦计网课设——校园网设计
  • 基于心电疾病分类的深度学习模型部署应用于OrangePi Kunpeng Pro开发板
  • Leetcode:找出峰值
  • 永久代(Permanent Generation)和元空间(Metaspace)
  • MySQL的安全性
  • 前端 CSS 经典:filter 滤镜
  • 学生管理系统 面向对象
  • 微火问答:全域外卖和本地生活服务是同个项目吗?
  • SQL刷题笔记day6-1
  • php TP8 阿里云短信服务SDKV 2.0(跳大坑)
  • MySQL(一) 库和表的基础操作
  • Go语言数据库框架 — Gorm
  • 关于 CSS 的那些事儿,我竟然都不知道
  • [Leetcode LCR 106.判断二分图]
  • redis数据类型之Hash,Bitmaps
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • CSS居中完全指南——构建CSS居中决策树
  • ES10 特性的完整指南
  • Github访问慢解决办法
  • Java深入 - 深入理解Java集合
  • js如何打印object对象
  • 当SetTimeout遇到了字符串
  • 关于 Cirru Editor 存储格式
  • 汉诺塔算法
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 基于遗传算法的优化问题求解
  • 前端
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何在 Tornado 中实现 Middleware
  • 优秀架构师必须掌握的架构思维
  • C# - 为值类型重定义相等性
  • 阿里云服务器购买完整流程
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • 整理一些计算机基础知识!
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #《AI中文版》V3 第 1 章 概述
  • #DBA杂记1
  • (第二周)效能测试
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一) springboot详细介绍
  • (转)大型网站的系统架构
  • .gitignore文件---让git自动忽略指定文件
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net连接MySQL的方法
  • .NET企业级应用架构设计系列之开场白
  • /*在DataTable中更新、删除数据*/
  • @RequestBody与@RequestParam
  • @Value读取properties中文乱码解决方案
  • @我的前任是个极品 微博分析
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [100天算法】-二叉树剪枝(day 48)