kubernetes 微服务西游记(持续更新中...)
随着微服务架构的流行,迈向云原生的趋势,容器化微服务就成为了持续集成最好的手段,镜像成为了持续交付最好的产物,容器成为了镜像运行最好的环境,kubernetes成了部署容器最好的生态系统和规范。实践出真知,自学习kubernetes以来,写了一系列文章,首先,为了发现知识盲点,查漏补缺,将知识点形成体系,决定将之前写的文章做一个汇总,方便查看;其次,希望打通微服务落地kubernetes的任督二脉,探索出一种工作模式,建立一条高度自动化的流水线,于是踏上了西天取经的道路,并梳理出了西游路线图,希望大家和我一起打妖怪,早日到达雷音寺,取得真经,阿弥陀佛,成佛成仙,呵呵;最后,通过梳理明确学习的方向和目标,一步一步前进,勿急勿躁,也鞭策自己不断学习、探索,因为有时真的就懒惰了,嘿嘿,正如四书五经《大学》中所言:“知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得”,这是我最喜欢的话之一,也是懒惰时常常会想起的一句话,好了,不扯犊子了,嘿嘿。
西游路线图(不断探索中...):
持续集成 ---
development阶段
代码提交、代码审核、构建编译、单元和功能测试、合并到代码仓库(git)、打包微服务成镜像、上传到镜像仓库 --- 全自动化。备注:持续集成流程非常重要,特别是互联网行业,产品不断的更新迭代,周期却很短,业务系统微服务化后,就像一辆汽车被拆分成各种组件,分配到不同的工厂加工生产,生产过程的每个阶段都需要按标准不断的交互对接,保证最后组合在一起的产物是符合预期设计标准的。至于持续集成的工作流程,每个公司可以结合自己的实际情况,建立符合自身的持续集成流程。
该阶段的产物是镜像。持续交付 ---
staging阶段
持续集成系统级别的发布方案到chart模板仓库,使用k8s的包管理器helm一键部署预生产环境,自动运行联调(集成)测试 --- 半自动化。备注:生产环境必须由专人按照严谨、合理、认可、稳定的流程(滚动发布、金丝雀发布等)完成部署工作,我们将这些方案编排成
chart模板,并在预生产环境进行测试,没问题后,持续集成到远程仓库。
该阶段目的就是根据服务之间的依赖关系编排服务,并将服务部署代码化,即基础设施自动化,它的产物是chart模板,可以看作是一份DevOps文档,里面存放在各种各样的运维脚本,自动化完成各式任务,这样生产环境对于服务的发布、更新、回滚、扩容都可通过编排文件实现,从而增加可塑性、易管理性、和自动化的能力。比如需要升级100个服务中的5个服务,只需要修改编排文件中5个服务的配置就行了,当编排文件提交后,生产环境通过命令一键更新,当发现新环境这5个服务有问题时,当然希望将这个5个服务原子回滚,如果没有编排文件,需要人工记录这次升级了哪5个服务。有了编排文件,只需要执行一个命令就revert到上一个版本了,而且所有的操作在代码仓库里面都已经被记录了。持续部署 ---
production阶段
只需要一个命令,自动从远程仓库拉取特定的chart模板,完整部署准备就绪的微服务脚手架到k8s生产环境 --- 全自动化。
第一部分 修行
- 一个典型的kubernetes工作流程
- 白话kubernetes的十万个为什么
- NodePort,LoadBalancer还是Ingress?我该如何选择
- 详解 k8s RBAC(role based access control) 角色权限(敬请期待)
第二部分 西天取经
- 打包
- 部署
- 仓库
- 发布
- 运维
- 监控
- 预警
第三部分 吃饭睡觉打妖怪
延伸阅读
https://mp.weixin.qq.com/s/Ybca--Nx4m1_w9xfH6voMQ
kubernetes 微服务西游记(持续更新中...)的更多相关文章
- 白话kubernetes的十万个为什么(持续更新中...) - kubernetes
Kubernetes简称? 答:k8s或kube. Kubernetes是什么? 答:由Google开发的一个强大的平台,可以在集群环境中管理容器化应用程序.本质上是一种特殊的数据库,里面存储的是能够 ...
- 中国.NET:各地微软技术俱乐部汇总(持续更新中...)
中国.NET:各地微软技术俱乐部汇总(持续更新中...) 本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by 史记微软. ...
- 基于容器微服务的PaaS云平台设计(一) 实现容器微服务和持续集成
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://www.cnblogs.com/SuperXJ/ 前言:关于什么是容器微服务PaaS和容器微服务PaaS的 ...
- [置顶]
Docker学习总结(7)——云端基于Docker的微服务与持续交付实践
本文根据[2016 全球运维大会•深圳站]现场演讲嘉宾分享内容整理而成 讲师简介 易立 毕业于北京大学,获得学士学位和硕士学位:目前负责阿里云容器技术相关的产品的研发工作. 加入阿里之前,曾在IBM中 ...
- 《WCF技术剖析》博文系列汇总[持续更新中]
原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...
- HBase常见问题答疑解惑【持续更新中】
HBase常见问题答疑解惑[持续更新中] 本文对HBase开发及使用过程中遇到过的常见问题进行梳理总结,希望能解答新加入的HBaser们的一些疑惑. 1. HTable线程安全吗? HTable不是线 ...
- 云端基于Docker的微服务与持续交付实践
云端基于Docker的微服务与持续交付实践笔记,是基于易立老师在阿里巴巴首届在线技术峰会上<云端基于Docker的微服务与持续交付实践>总结而出的. 本次主要讲了什么? Docker Sw ...
- 史上最全的spark面试题——持续更新中
史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题 版权声明:本文为博主原创文章,遵循C ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
随机推荐
- Kali Linux 工具使用中文说明书
From: https://www.hackfun.org/kali-tools/kali-tools-zh.html 英文版地址:http://tools.kali.org/ 信息收集 accche ...
- GPU Accelerated Computing with Python
https://developer.nvidia.com/how-to-cuda-Python python is one of the fastest growing and most popula ...
- 2013-8:SDCE大会笔记
百度移动云三大开发框架:Clouda,SiteApp,AppBuilder MBaaS解决高性能Server很难的问题 百度开放云的区域运营服务于创业者 Pinterest架构变迁: 互联网就是把线下 ...
- 基于puppeteer模拟登录抓取页面
关于热图 在网站分析行业中,网站热图能够很好的反应用户在网站的操作行为,具体分析用户的喜好,对网站进行针对性的优化,一个热图的例子(来源于ptengine) 上图中能很清晰的看到用户关注点在那,我们不 ...
- 开源纯C#工控网关+组态软件(十)移植到.NET Core
一. 引子 写这个开源系列已经十来篇了.自从十年前注册博客园以来,关注了张善友.老赵.xiaotie.深蓝色右手等一众大牛,也围观了逗比的吉日嘎啦.精密顽石等形形色色的园友.然而整整十年一篇文章都 ...
- birt4.6部署到tomcat及启动服务报错解决方法
一.下载birt-runtime-4.6.0-20160607.zip包 解压后birt-runtime-4.6.0-20160607\WebViewerExample将WebViewerExampl ...
- 图片与base64的互转
/// <summary> /// 把图片转换到文本信息 /// </summary> /// <param name=&quo ...
- Maven学习(四)-- Maven的核心概念
摘自:http://www.cnblogs.com/xdp-gacl/p/4051819.html 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1. ...
- Java多线程-概念与原理
一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程.比如在 ...
- System.nanoTime理解
JDK1.5之后java中的计时给出了更精确的方法:System.nanoTime(),输出的精度是纳秒级别,这个给一些性能测试提供了更准确的参考. 但是这个方法有个需要注意的地方,不能用来计算今天是 ...