YeahMobi中基于容器技术的运维自动化实践

Slides:



Advertisements
Similar presentations
迪士尼公主裙衫变化记. 《白雪公主和七个小孩人》 《白雪公主和七个小矮人》,是世界电影史上第一部长动 画片,也是迪士尼的第一部。《白雪公主》不仅为迪斯尼 带来了第一尊奥斯卡小人,更是拯救迪斯尼于水火的贵 人 —— 在经济大萧条的 1937 年的美国,《白雪公主》为迪 斯尼赚到了 850 万美元,这约等于现在的数亿美元!
Advertisements

我的 x 檔案 張春桂 ( 阿桂 ). 我的基本資料  破蛋日 :2000 年 9 月 7 日  星座 : 處女 血型 : 未知  興趣 : 敬請期待第 6 頁  身高 :160 體重 : 比你重就對了  性別 : ㄜ ~~ 當然是男的摟  我的偶像 : 我自己  如果臂力強得化可以跟我比腕力喔.
开始 周海 2012 级中软定制专业方向说明. 三个方向 Java 与移动互联.NET 软件开发 嵌入式开发.
聰明上網我不宅 幸福學習我最愛 103 年中小學學生網路使用之性別分析 執行單位: 國立成功大學行為醫學所 亞洲大學心理系碩士班臨床心理組暨網路成癮防治中心 1.
環境游離輻射 ( 六 ) 輻射與核能發電. 媽!這是我上班的 地方-核電廠。 地方好寬闊喔! 聽說日本原子彈爆炸死好幾 萬人,阿榮啊!你在這裡上 班,安全嗎?
《小狗包弟 》之 从阅读到写作 学校:和风中学 年级:高一 参赛者:彭龙英. 预习检测一 思考:同学们读完作者与包弟 的故事后,说一说作者所表达的情 感是什么?
云计算辅助教学风云录 黎加厚 上海师范大学教育技术系 2010年8月9日.
云计算及安全 ——Cloud Computing & Cloud Security
虹膜识别健康养老服务智能系统项目.
探究活动课:互联网+历史素材阅读与研讨 古代中国的选官制度 黄天庆  探究活动课:互联网+历史素材阅读与研讨 古代中国的选官制度 黄天庆 
職校、五專群科簡介.
华为政务云解决方案服务政府、公众和企业 政务云 高效服务,提升民众满意度 加强监管,提高治国理政能力 促进发展,改善产业结构.
短歌行.
Mico的架构之旅 魏佳 Co-Founder & Mico Inc..
研商「99年宜蘭縣相關單位同步滅鼠工作」執行事宜
广东省高新技术企业认定工作培训 关于专项审计报告的说明与解释.
江苏省工程造价管理协会 工作报告 2015年4月21日 扬州.
101年8月份 嘉義市道路交通安全聯席會報 酒駕行為與肇事現況分析 主講人:內政部警政署交通組科長張夢麟 1.
高校邦在线学习平台 学生学习手册 北京高校邦科技有限公司.
教育雲端科技的現況與未來發展 臺北市政府教育局聘任督學 韓長澤.
基于CloudFoundry的私有云平台
主辦單位:朝陽科技大學休閒事業管理學系 協辦單位:體育室、課外活動組 活動日期:民國100年5月21日 活動地點:朝陽科技大學操場
Database Architecture, not only DBA
我们在这APP --由9岁男孩女孩自己独立创建的给小朋友们用的儿童APP 项目联系人:孙易周 公司名称:易周慈生 成立时间:2014年1月
Cobbler+RDO= Openstack
不能隔絕的愛 山不能 海不能 不能隔絕神的愛 風不能 雨不能 不能隔絕神的愛 都不能. 不能隔絕的愛 山不能 海不能 不能隔絕神的愛 風不能 雨不能 不能隔絕神的愛 都不能.
我用灵动的声音、奇异的形体和清透的心灵向你诉说,不知道你是否读懂了我———雨的心曲?
102學年度 彰化縣國中新生編班作業 說明會 聯絡電話: #221(註冊組長) #223(資訊組長)
2012 Project Planning 2012 年技术规划
会计技能综合实训 ——会计分工.
目 錄 壹、緣由 貳、問題解析 參、問題歸納 肆、因應對策 伍、評鑑獎勵 陸、追蹤考核 1.
Openstack入门
中華基督教會 基慧小學(馬灣) 11-12年度 校本輔導活動: 生命亮晶燈計劃 簡介.
103學年度第1階段 志願選填試探後輔導作為 成效檢討與精進建議
活动主题:佛山智造 中国骄傲 随着互联网、云计算、大数据以及移动互联网的快速发展,技术不仅仅是一种工具,正加速重构着品牌的新格局。
温江区行政事业单位 资产管理信息系统培训 2010年10月28日.
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
四川省卫生监督移动 执法终端介绍 发言人:陈成身 四川省卫生执法监督总队.
獎補助經預計支用報告 105年.
珍惜时间 提高效率 初二1班
YARN & MapReduce 2.0 Boyu Diao
EMC VMware架构下的备份解决方案 中国解决方案中心.
學校教職員退休條例修正草案重點報告 報告人:徐創晃.
NEC Express5800 Fault Tolerant Server Introduction
作業系統 補充: 雲端運算.
Cloud Computing(雲端運算) 技術的現況與應用
斯巴達帶大家上雲端.
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
Why Cloud Computing Will Not Be Free Dave Durkee  Communications of the ACM, Vol. 53 No. 5, Pages 刁伯駒 涂崇智 指導教授:林娟娟 博士.
软件工程基础 云计算概论 刘 驰.
第二章 防火墙基础技术.
华东理工大学 关于新校园卡功能启用的相关说明 2018年09月07日.
股票代碼:2545 皇翔建設股份有限公司.
京都楓采 by 王南焜 林淑玹 按鍵換頁 請開音響!.
亚马逊云计算AWS (Amazon Web Service)
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
靜宜大學專用 PowerPoint 檔案 數位教材
班級:四企四B 指導老師:李文瑞老師 組員: 莊煜麒4950L089 黃暉原4950L109
Project & Human Resource Management
FaceBook 粉絲頁建立 主講人:王金鳳.
102學年度下學期 班親會 五年仁班 楊曉逸老師.
第二階段「校園徒步區建置」 執行成果報告.
第 18 章 雲端計算.
Race Conditions and Semaphore
AWS容器及无服务器化的安全考量.
行車安全資訊擷取裝置 軟體實作及其嵌入式模組設計
為民服務白皮書 台灣電力公司彰化區營業處  彰化區營業處 為民服務白皮書 誠信 關懷 服務 成長 1.
实验课程学习手册.
云控APP说明书 适用于云控平台配置.
云控APP说明书 适用于云控平台配置.
Presentation transcript:

YeahMobi中基于容器技术的运维自动化实践 Infrastructure Department Manager Chieh Chu(朱杰)

Agenda 面对的问题 解决问题的思路 Yeah-PaaS平台实践

面对的问题 快速交付 服务自动化 资源多样性 快速交付:互联网公司往往是轻测试重交付,需要快速试错来改进与提高产品质量,如何做到快速的交付产品做到唯快不破就成为首要解决的问题。包括:环境一致性,持续交付集成,快速启动,无服务中断 服务自动化:灰度发布,回滚,服务依赖,服务发现(统一对外endpoint,readiness),高可用,服务可扩展,Multi-Regions等 资源多样:可消费资源,公共配置变更,数据库,不同项目资源的反亲和性,第三方服务等

快速交付 线上线下环境不一致 持续交付集成困难 快速启动 上线时服务可能中断

自动化部署 多种策略的灰度发布 出错回滚 服务依赖 服务发现 资源与应用不同级别的服务感知 服务高可用 服务需可扩展 跨Region部署

线上操作多样化 可消费资源分配问题 公共配置变更 数据库变更 不同业务间资源不共享 第三方服务

问题解决思路 容器化环境 Leveraging Docker technical 解决快速交付问题 封装 快速 轻量 版本化管理

问题解决思路 服务管理 Leveraging Kubernetes technical 解决容器化部署问题 线上容器化资源池 ReplicationController解决服务高可用 Service解决服务发现以及负载均衡 Instance lifecycle 管理 Readiness(用于保留现场), Liveness(目前无restart limit), PreStop, PostStart

问题解决思路 服务编排 Leveraging Openstack Heat technical 解决面向应用的部署以及多样化问题 依赖 灰度 回滚 可自定义服务类型 配置更改 数据库 第三方服务 驱动容器化部署(K8s)

整体构架简图 App A App B Service A K8s plugin Other plugins Openstack Heat K8s python API 3rd Services Others Sub-System Kubernetes Docker AWS Region1 IaaS AWS Region2 RS Region1 SL Region1 Ali Region1

应用举例 Facebook广告发布系统 内部组件间需要服务发现 组件间存在生产与消费关系,服务启动,撤销存在组件依赖 某些比较heavy的组件(生产者)启动会较耗时,这时需要保证存在依赖的服务需等该服务ready后方可部署 组件下线时,已调度的作业需执行完操作后方可结束,同时该组件不应再接受新的作业 Facebook客户级别导致的广告发布限制,导致无法进行A|B灰度 相同环境线下测试时需要自动接入Facebook的Mock API service

Docker的配置 Version: 1.6.2 用于设置Labels,类似于set metadata K8s依赖这一特性:preStop, postStart, readiness Flannel: 0.3.0 配置:同K8s共用etcd 部署相对简单 同属CoreOS 评测性能小幅下降:TCP bandwidth 约10% drop

高可用 Private Docker Hub

Kubernetes的配置 Version:Self complied 0.19.1(RC) + bug fix One container per Pod Admin setting Resource quota Total amount for namespace: kmem, cpu, # of pod/rc Limits:The limit of all Pods within the specific namespace-wide App Setting Resource limits 针对pod的mem, cpu (配置文件来指定) bug fix: Readiness失败会引起container重启

Kubernetes的配置

Kubernetes的配置 需要考虑资源与业务间的服务发现级联问题 (leverage instance lifecycle) preStop Usecase:Graceful delete, 保证正在执行的任务完成,并不会接受新的请求,或服务主动从服务发现中清除。 postStart Usecase:识别并接入Facebook API mock Readiness 服务状态监控 组件间依赖,用于配合Heat的dependence实现类似waitcondition的功能 Liveness 类似Readiness,不过false时会重启container

Kubernetes的配置 安全设置 API SSL enable, token 认证,统一出口由Heat控制 Unique namespace for one product 使用的调度策略 ServiceSpread:尝试避免同构的Pod被schedule在相同的minions Packing:尝试保证相同product的Pod被schedule在一起 Anti-affinity:保证不同的product不会被schedule在相同的minions LabelSpread(计划中):保证相同属性的Pod不会被schedule在一起,i.e.:CPU/Mem/IO intensive

Heat相关改动 Version:Juno release 重写K8s 全功能Python API 增加K8s resource types GoogleInc::Kubernetes::ReplicationController GoogleInc::Kubernetes::Service (Others: Scripts, DB related etc) 为每一个resource type实现下列接口 handle_create, check_create_complete handle_update, check_update_complete handle_delete, check_delete_complete

Heat相关改动 GoogleInc::Kubernetes::ReplicationController GoogleInc::Kubernetes::Service

监控相关事项 Kubernetes 自身的页面 现有Pod,RC的信息等 cAdvisor实时数据 Heapster基于cAdvisor 加入告警项 Host level – zabbix Container – cAdveriser数据导出从而被zabbix监控

监控相关事项 目前接入 Zabbix ,支持自动化告警的监控项主要有: Host 告警 Ping 、 CPU 、 Memory 、 Disk 进程监控 etcd kube-apiserver/kube-scheduler/kube-controller-manager/kubelet/kube-proxy flanneld/docker heat-engine/heat-api 服务端口监控 PaaS 服务: kubernetes/heat/etcd Docker Hub 服务: registry/registry-ui/registry-proxy/heapster/influxdb

监控相关事项

Troubleshooting pod状态长期处于pending状态 kube-scheduler调度延时;kubelet启动延时;etcd bug引起,升级etcd v2.0.5 -> v2.0.9解决 inode被耗光,主要消耗在/var/lib/docker/aufs crontab定时清除以下内容: 需要清除docker registry 清除docker images 清除已死docker container # remove exited container. docker ps -a|grep Exit|cut -d' ' -f 1|xargs docker rm # remove images as possible that has no name/tag docker images -a|grep '^<none>'|tr -s ' '|cut -d' ' -f 3|xargs docker rmi

Troubleshooting 删除namespace的结果 namespace下的RC被删除,所有Pod会变成pending状态,docker container正常 将该namespace重新创建之后,Pod会变成running的正常态,但RC不再了 kube 0.18.0指定memory limit创建Pod失败 可能是docker不支持swap memlimit导致,需要打开grub开关

About me 朱杰 Email: chieh.chu@Hotmail.com