IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker/k8s是为了解决服务部署问题 -> 正文阅读

[系统运维]docker/k8s是为了解决服务部署问题


? ? 服务部署: ??
? ? - 服务:服务器程序
? ? - 部署:是把服务器程序部署到IDC中的计算机上让它运行起来,对Internet提供服务
? ? - 流程:编写代码-->编译成可执行的二进制文件-->将二进制文件和其运行所需要的配置打成压缩包-->复制压缩包到IDC机器上 -->解压并启动二进制文件
? ??
? ? 编译打包:?
? ? - 功能: 即把源代码编译成机器码,也有脚本语言不用编译。然后将二进制文件和其运行所需要的配置打成压缩包
? ? - 运行环境异构:?
? ? ? ? 异构: 编译机可能与真正运行代码的机器不同,如linux/windows等操作系统的区别,linux各版本也可能不同,物理机器如CPU架构不同
? ? ? ? 问题: 这导致编译出来的代码在有的机器可以运行,在有的机器上不能运行,甚至运行出错
? ? - 依赖复杂:
? ? ? ? 依赖: 在大项目种,一个应用程序会依赖各种三方库,C++中如动态库,操作系统预状库,java的各种jar包, python的各种模块
? ? ? ? 问题: 运行环境库缺失,库冲突,如依赖了同一个库的不同版本。导致应用程序在开发环境可运行,在线上环境无法运行
? ? - 编译构建速度慢: 大型应用可能编译需要几小时甚至几天
? ??
? ? 包分发:
? ? - 功能: 编译打包后需要把包批量分发到IDC中需要运行服务的机器
? ? - 上传包: 把包上传到IDC的存储上
? ? - 下载包: 每台机器把包从存储中心上拉到本地
? ? - 解压包: 把压缩包解压到指定目录
? ??
? ? 服务更新:
? ? - 停止老服务: 向服务发送停止信号,等其正常退出,超时则强行杀死
? ? - 启动新服务: 运行启动命令,启动解压出来的服务代码
? ? - 滚动更新: 一个服务可能有N台机器。需要一批一批重启。 如果同时全量重启可能导致服务短时间不可用。 同时灰度重启可以验证新代码是否有bug.如果有就不发布剩余服务
? ??
? ? 健康检查:
? ? - 存活检查: 如定时访问服务端口。有时服务进程虽然在,但其实已经无法提供服务
? ? - 自动拉起: 业务进程退出后能自动拉起
? ??
? ? 扩缩容:
? ? - 扩容: 访问客户端增多,如遇节假日,现在有机器无法承载,需要多加一些机器进来,并运行服务
? ? - 缩容: 服务访问洪峰已过,或者业务下滑,机器利用率低,需要缩走部分机器,节省成本
? ? - 自动化: 如配置高min, max,能自动根据服务负载动态扩缩容
? ??
? ? 负载均衡:
? ? - 功能: 服务器可能通过N台服务器构建一个集群对外提供服务,但是对客户端端来说,只认为有一台服务器
? ? - 4层: LVS
? ? - 7层: nginx haproxy?
? ? - DNS: 通过域名实现高可用与负载均衡
? ? - CDN: 通过cdn缓存
? ??
? ? 网络通信:
? ? - 内部服务间: 一组服务器之间需要通信,也可能访问内部其他服务如数据库,配置中心。要打通服务间通信网络
? ? - 客户端可访问: 打通客户端与服务器之间的网络。从Internet到防火墙到IDC内网到docker内
? ? - 长连接: 客户端与服务器长时间保持连接
? ? - pull/push:?
? ? - dns:服务内外dns服务?
? ??
? ? 流量管理:
? ? - 限流: 负载过高时需要限制流量
? ? - 熔断:
? ? - 标记: 对流量打标记
? ? - 定向: 如把满足某条件流量定向到特定服务主机
? ??
? ? 作业类型:
? ? - 无状态常驻集群: 要保证集群机器数量
? ? - 有状态常驻集群: 要保证集群机器数量且需要存储
? ? - 定时作业: 如每日报表,每日训练特征处理
? ? - 守护进程: 如日志集,监控告警
? ? - 批处理临时作业: 如tensorflow训练任务,SQL查询
? ??
? ? 作业执行环境:
? ? - 清空,初始化
? ? - 配置文件
? ? - 环境变量
? ? - 命令行参数
? ? - 外部存储
? ? - 可执行文件
? ??
? ? 资源管理:
? ? - 资源分配: IDC中有大量机器需要根据作业要求分配资源(网络,ip,磁盘,memory,cpu, gpu...)
? ? - 资源回收: 作业结束回收资源
? ? - 分配策略: 可按一定的策略,或者用户自定义策略分配资源
? ? - 优先级: 高优先级作业可以抢占低 优先级作业的资源
? ??
? ? 隔离:
? ? - 不同作业之间 CPU, 网络,磁盘,内存等资源隔离
? ? - 租户隔离
?
? ? UI:
? ? - 易操作的界面
? ? - 可编程的API接口
? ??
? ? 计费: 不同机器,租户,业务,部门,作业的计费
? ? 安全: 不同机器,租户,业务,部门,作业的访问ACL。自身管理权限控制。
? ??
? ? 监控告警:
? ? - 主机指标: CPU, Memory, Disk, I/O等待
? ? - 业务指标: 成功,失败次数频率
? ? - coredump监控: core次数,告警
? ? - 自定义: 业务脚本访问服务,根据返回值打监控和告警
? ??
? ? 日志&Debug:
? ? - 主机日志
? ? - 业务日志
? ? - 日志查询,可视化查询
? ? - core文件保存
? ??
? ? 性能:
? ? - 大规模资源管理
? ? - 大规模作业调度
? ? - 可线性扩展机器提升性能
? ??
? ? 高可用:?
? ? - 自身高可用: 发布系统是会影响到多个作业,多个业务。因此自身高可用十分重要。?
? ? - 不影响业务: 自身发布,或者出Bug尽量不影响业务
? ? - 分区分服分set: 部分失败不影响整个系统
? ??

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 16:00:29  更:2022-03-04 16:01:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:34:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码