大厂容器云实践之路(二)

news2024/7/6 5:07:46

3-网易蜂巢的DOCKER实践之路

面临问题

img

img

img

 场景分析

img

 如何解决

功能性需求(基础)

第一步 技术支撑公有化

开发流程

img

 场景分析

img

功能性需求(基础)
非功能性需求(SLA)

第二步 产品技术云端化

开发流程

img

 场景分析

img

多版本
服务依赖(SOA,MSA)
规范流程

第三步 云端技术容器化

开发流程

img

三步走
第一步 技术支撑公有化
第二步 产品技术云端化
第三步 云端技术容器化
云计算是互联网+的必然选择

实践之路

为开发者打造的基于DOCKER容器云

开发者定义

img

 问题

img

 研发+Kubernetes+Docker

img

 实践之路-架构

img

img

img

img

img

 场景分析-示例

img

 实践之路

img

 实践之路-反馈三境界

命令无法使用(nt found)
命令无法使用(not found等)
命令无法正常工作(iptables,drop cache等)
命令运行结果不一致(aufs,dm,overlay等)

实践之路-总结

性能优化(镜像架构,编排调度,资源池等)
运行规模(多租户,节点数,POD数等)
掌控底层及SDN网络技术的必要性
线上互联网产品稳定运行多年
更多服务容器化(业界领先RDS,日志,安全等)

目标与展望

img

4-京东弹性计算实践 

私有云面临得挑战

img

 用户需求

1、稳定性

2、性能

3、用户习惯

弹性计算之路

img

 从KVM迁移到Docker

img

 弹性计算架构

img

 弹性计算平台 = JDOS(JD Datacenter OS)+CAP(Cloud Application Platform)。
JDOS实现实现基础设施(网络,物理机,存储)的资源管理、容器的生命周期管理、监控指标采集;
CAP负责应用治理、部署、监控报警、资源利用率统计、手动和自动的弹性伸缩。

OpenStack

img

Docker Driver

img

 网络(OVS/VLan)

img

为了兼容现在的基础设施系统,满足用户习惯,每个容器都有独立的IP。
禁用了Docker网络,采用Neutron集成OVS;
优化OVS转发层,提升网络小包延迟,适用于微服务调用;

存储

img

 镜像分层合并

img

 镜像中心

img

 配置中心

img

 CAP 架构

img

核心是一套工作流,基于Zookeeper分布式调度引擎来实现。能动态注册发现节点;能控制单个节点并发任务数,失败重试次数,确保同一应用互斥任务串行执行。

系统监控指标

img

 监控架构

img

指标数据带有明显的时间特性,每日数据上亿,采用了成熟的OpenTSDB方案。
提供了从应用和实例多个维度查看负载情况,满足用户的需求。
可以对应用配置警策略,进行短信或邮件报警。

宕机探测架构

img

 硬件故障探测

img

 监控页面

img

 调度流程

img

 弹性扩容流程

img

应用在启动之前可能需要数据库授权,启动之后需要挂载VIP,注册统一监控和统一日志。如何能自动发现应用的注册信息,采用了模版方式。应用先申请一个容器,手工注册这些信息,后续的扩容会以该容器为模版来进行自动注册。

故障迁移流程

img

当遇到容器或物理机故障,需要进行快速的迁移,迁移后的容器需要保持原有的IP,避免还要重新申请授权。

弹性调度算法

img

 应用场景

img

双11全面使用弹性云来备战,线上应用在新机房都部署在容器上;
核心应用如:网站,交易,订单履约,配送,售后,无线,拍拍,金融,O2O等等平稳运行在容器上

容器资源利用率

以一小时为单位,计算容器的资源最大使用率;

img

 应用资源利用率

根据应用和容器的关系,统计应用资源使用率;

img

 部门资源利用率

根据负责人、部门、应用和容器的关系,统计部门资源使用率;

img

 一键伸缩

批量快照水平扩容;
批量水平扩容;
批量水平缩容;
批量垂直搜索;

img

 应用部署巡检

定期巡检应用容器部署情况,邮件报告;

img

实践经验

无状态,同时对磁盘IO要求不高的应用,很适合部署到弹性云;
微服务应用由于能自动服务注册发现,辅助均衡,非常适合部署到弹性云
推荐万兆网络和网卡,避免网络共享出现资源竞争;
稳定的操作系统版本;
推荐高配置物理机,合理得CPU和内存比,便于充分利用资源;
采购高质量的交换机和物理机;

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

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

相关文章

易基因:m5C RNA甲基转移酶及其在癌症中的潜在作用机制|深度综述

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 近年来,5-甲基胞嘧啶(m5C)RNA修饰已成为通过编码和非编码RNA调控RNA代谢和功能的关键参与者。越来越多的证据表明,m5C可以调控RNA稳定性、…

MOSFET(四):区别JFET

一、JFET及工作原理 N沟道JFET是一种三极结构的半导体器件,包含源极(S)、漏极(D)、栅极(G)工作原理是通过栅源电压控制反型沟道的导电特性。 当栅极-源极电压为零或正电压时,沟道关…

【ChatGLM】大模型之 ChatGLM 部署

目录 1. 资源下载 2. 部署启动 1. 资源下载 HuggingFace 模型权重下载 # install git-lfs git lfs install # download checkpoint # clone the repo git clone https://huggingface.co/THUDM/chatglm-6b 手动模型权重下载 # download checkpoint # clone the repo, ski…

途乐证券|基金重仓股被“撞了一下腰”

中兴通讯昨上演放量长阴走势。 8月7日,A股全天低开低走,创业板领跌。到收盘,沪指跌0.59%,创业板指跌1%。值得一提的是,当天有多只获得基金要点持仓的白马龙头股大跌,其间,在本年二季度颇受基金追…

转载:本地项目上传至git码云步骤(超详细,附图文)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/stange1/article/details/123877364 文章目录 1、首先在码云上新建一个项目,如下图所示…

ChatGPT访问流量下降的原因分析

​自从OpenAI的ChatGPT于11月问世以来,这款聪明的人工智能聊天机器人就席卷了全世界,人们在试用该工具的同时也好奇该技术到底将如何改变我们的工作和生活。 但近期Similarweb表示,自去ChatGPT上线以来,该网站的访问量首次出现下…

同个局域网内SSH远程Ubuntu系统

文章目录 前言在Ubuntu系统下如何实现不同系统间的SSH连接(同一局域网环境)1. 确认Ubuntu系统是否安装SSH2. 输入命令3. 输入查询命令4. 取得IP地址5. 查找设备进行连接6. 输入可以通过命令行对Ubuntu系统进行操作 前言 在之前的系列文章中,…

linux onlyOffice docker 离线部署

文章目录 前言1. 安装Docker容器2. 拉取镜像3. 验证 前言 docker 离线安装onlyoffice,如在线安装可直接跳过导出导入镜像步骤,拉取后直接运行。 1. 安装Docker容器 下载文件 wget https://download.docker.com/linux/static/stable/x86_64/docker-19…

动力节点|MyBatis入门实战到深入源码

MyBatis是一种简单易用、灵活性高且高性能的持久化框架,也是Java开发中不可或缺的一部分。 动力节点老杜的MyBatis教程,上线后广受好评 从零基础小白学习的角度出发,层层递进 从简单到深入,从实战到源码 一步一案例,一…

【unity】ShaderGraph实现等高线和高程渐变设色

【unity】ShaderGraph实现等高线和高程渐变设色 等高线的实现思路 方法一: 通过Position节点得到顶点的高度(y)值,将高度值除去等高距离取余,设定余数的输出边界(step) 方法二: 将…

IDEA项目实践——Spring当中的切面AOP

系列文章目录 IDEA创建项目的操作步骤以及在虚拟机里面创建Scala的项目简单介绍 IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介 IDEWA项目实践——mybatis的一些基本原理以及案例 IDEA项目实践——动态SQL、关系映射、注解开发 IDEA项…

十三、高光谱图像基础

1、各种图像 1.1 高光谱图像 高光谱成像技术的原理基于物体的光谱吸收和反射特性。当光线通过或反射于物体表面时,被物体吸收或反射的光波将发生变化。高光谱成像系统通过对各个波段的频谱进行连续测量,可以获取到物体在不同波段下的光谱信息。通过分析这些光谱数据,我们…

两种方法(JS方法和Vue方法)实现页面渲染

一、需求 根据数据渲染如下页面 二、JS方法 <body><!-- 4. box核心内容区域开始 --><div class"box w"><div class"box-hd"><h3>精品推荐</h3><a href"#">查看全部</a></div><div cl…

演示spring AOP的切入表达式重用和优先级问题以及怎么实现基于xml的AOP

&#x1f600;前言 本篇的Spring-AOP系类文章第五篇讲解了演示spring AOP的切入表达式重用和优先级问题以及怎么实现基于xml的AOP &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助…

c++11 标准模板(STL)(std::basic_fstream)(一)

定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_fstream : public std::basic_iostream<CharT, Traits> 类模板 basic_fstream 实现基于文件的流上的高层输入/输出。它将 std::basic_i…

Linux常用命令——dnf命令

在线Linux命令查询工具 dnf 新一代的RPM软件包管理器 补充说明 DNF是新一代的rpm软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近&#xff0c;它取代了yum&#xff0c;正式成为 Fedora 22 的包管理器。 DNF包管理器克服了YUM包管理器的一些瓶颈&#xff0c;提升…

docker-compose 部署elk,别找了,这是最好的教程

通过docker-compose编排一系列环境进行一键快速部署运行&#xff0c;小白运维神器。 # 安装git命令&#xff1a; yum install -y git git clone https://gitee.com/zhengqingya/docker-compose.git cd docker-compose/Linux环境部署见每个服务下的run.md&#xff1b; eg: Linu…

使用webpack插件webpack-dev-server 出现Cannot GET/的解决办法

问题描述 文档地址深入浅出webpack 使用 DevServer运行webpack&#xff0c;跑起来之后提示Cannot GET/&#xff1a; 解决方案&#xff1a; 查阅官方文档 根据目录结构修改对应的配置&#xff1a; 然后就可以成功访问&#xff1a;

windows安装docker 异常解决

Docker for Windows 安装Docker for Windows报错信息&#xff1a;Docker Desktop requires Windows 10 Pro/Enterprise/Home (18363). 解决方式 1.更新 Windows 系统版本Windows10Upgrade9252.exe 下载地址下载完运行 Windows10Upgrade9252.exe更新完&#xff0c;安装 Docke…

html 计算器界面

其他链接&#xff1a; https://www.freecodecamp.org/news/how-to-build-an-html-calculator-app-from-scratch-using-javascript-4454b8714b98/ https://codepen.io/pen/tour/welcome/start 下面展示一些 内联代码片。 <!DOCTYPE html> <html lang"en">…