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 . ...
随机推荐
- C# 操作PDF 图层(Layer)——添加、删除图层、设置图层可见性
前言 通过添加图层,我们可以将文本.图片.表格.图形等元素精确定位于页面指定位置,将这些元素进行叠放.组合形成页面的最终效果.此外,对于页面中已有的图层我们也可以进行设置图层可见性.删除图层等操作.因 ...
- YOLO_Online 将深度学习最火的目标检测做成在线服务实战经验分享
YOLO_Online 将深度学习最火的目标检测做成在线服务 第一次接触 YOLO 这个目标检测项目的时候,我就在想,怎么样能够封装一下让普通人也能够体验深度学习最火的目标检测项目,不需要关注技术细节 ...
- Oracle解锁表笔记
1.查询被锁的对象: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$sessio ...
- OpenApi开放平台架构实践
背景 随着业务的发展,越来越多不同系统之间需要数据往来,我们和外部系统之间产生了数据接口的对接.当然,有我们提供给外部系统(工具)的,也有我们调用第三方的.而这里重点讲一下我们对外的接口. 目前,我们 ...
- display的属性值测试
由于在学习CSS的display的属性值只针对block.inline.inline-block和flex进行过了解,并且自己观察得知列表中li的display属性是list-item,而想要触发BF ...
- MySql的下载和安装(解压版)
工具/原料 windows系统 一.Mysql的下载 打开浏览器,输入mysql,点击百度搜索,得到搜索结果. 在搜索结果中,选择下面结果,因为浏览器的不同,Mysql官网在搜索结果的 ...
- 附近的人,附近的卖家(geohash+前缀树)
http://www.cnblogs.com/LBSer/p/3310455.html http://blog.csdn.net/shixiaoguo90/article/details/253137 ...
- 2017年Kali Linux更新源
终端输入: leafpad /etc/apt/sources.list 打开更新源配置文件,将下面的更新源复制到原内容的前面: #163网易 Kali源 deb http://mirrors.163. ...
- tkiner中Radiobutton单选框控件(七)
Radiobutton控件 由于本次内容中好多知识都是之前重复解释过的,本次就不做解释了.不太清楚的内容请参考tkinter1-6节中的内容 import tkinter wuya = tkinter ...
- 你不知道的JavaScript--Item29 DOM基础详解
看完JavaScript高级程序设计,整理了一下里面的DOM这一块的知识点,比较多,比较碎!DOM在整个页面的地位如图: DOM(文档对象模型)是针对HTML 和XML 文档的一个API(应用程序编程 ...