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 . ...
随机推荐
- mac上Python多版本共存
http://www.cnblogs.com/mingaixin/p/6295963.html https://www.cnhzz.com/pyenv_virtualenv_virtaulenvwra ...
- Hadoop的Python框架指南
http://www.oschina.NET/translate/a-guide-to-Python-frameworks-for-Hadoop 最近,我加入了Cloudera,在这之前,我在计算生物 ...
- Django之代码风格
1 代码风格 稍微关注一下下面这些代码标准风格指导规则将会对你大有益处,我们高度建议你通读词章,即便你此时可能正想跳过它. 1.1 让你的代码保持可读性的重要性 代码在读方面的重要性胜过写.一个代码块 ...
- HttpDNS的坑以及一个针对安卓不太完善的测试方案
背景:单位因为域名劫持(具体表象是某个地区的用户ping不通域名或者因为DNS解析的ip跨网段导致访问速度很慢)需要运维经常去定位,于是提出了httpDNS方案. 想法是美好的,现实是残酷的.没引入这 ...
- manifold tangent classifier
The Manifold Tangent Classifier (MTC) Putting it all together, here is the high level summary of how ...
- 程序员快递请查收,来自Python黑客大佬的一份DDOS攻击说明书!
DDoS攻击没有我们想象中的那么简单,并不是什么Python程序员都能够做到的. 若要知晓黑客利用DDOS攻击原理那么我们必须要知道是实行DDoS攻击比较难的原因是什么? 很简单的一句话概括:&quo ...
- js基础进阶--关于setTimeout的思考
欢迎访问我的个人博客:http://www.xiaolongwu.cn 先热身 看看下面的额代码会打印出什么? for (var i = 0; i < 5; i++) { setTimeout( ...
- maven工程,java代码加载resources下面资源文件的路径
1 通过类加载器加载器, 1. URL resource = TestMain.class.getResource("/18500228040.txt");File file = ...
- cropper(裁剪图片)插件使用(案例)
公司发布微信H5前端阵子刚刚弄好的H5端的图片上传插件,现在有需要裁剪图片.前端找了一个插件---cropper 本人对这插件不怎么熟悉,这个案例最好用在一个页面只有一个上传图片的功能上而且只适合单个 ...
- 计算机网络相关:应用层协议(一):DNS
DNS 1.概念 DNS是: 1) 一个有分层的DNS服务器实现的分布式数据库 2)一个使得主机能够查询分布式数据库的应用协议. 它运行在UDP之上,默认使用53号端口. 主要功能 是将主 ...