虚拟化原理到K8s实践经验路线总结
以下这些内容均为自行学习总结的内容,很多内容没有写概括介绍,看起来可能会有些突兀,但并不影响整体性,我自己的学习经验告诉我,这些内容还仅仅是最精简的核心部分,周边还有很多可扩展内容,主要是操作系统生态方面的内容,这些内容我目前无法概括总结,但会陆续将计算机原理和网络原理部分梳理成系列文章,以便能成系统,学习技术到一定阶段一定是需要有无全局观的,否则很容易迷失方向而无法深入。另外因为我自己的能力也很有限,无法将下面文章写的尽善尽美,但还是斗胆将自己走的弯路过滤出去,希望能分享一些有价值的东西,能让想我一样的初学者能规避一些不必要的错误; 另外我的经验是积极捕捉每一个学习的机会,不分Windows,Linux,Unix,其实你积累的多了,有了对系统生态的整体感觉相信你就会发现,下面这些内容学起来就不难了,另外告诉所有认真对待自己的道友一个小窍门,就是“慢慢来”,总结8个字“慢就是快,快就是慢”。
  对于虚拟化来说,下面这些仅仅还只是入门,它诞生很早,早在80-90年代时就已经提出了虚拟化,但因为硬件技术无法承载它,因此被搁置,直到本世纪初,硬件性能随着莫尔定律每18个月在不断翻新,不断创造奇迹,CPU性能,内存容量,磁盘容量都不断富余,人们发现业务增长带来了阶段性服务器性能不足,比如 一个外买平台,其24个小时中,可能只有在中午11:30~13:00,晚上6~8点之间业务流量可能非常巨大,但其它时间业务量可能很小,但为了避免在高峰期巨大访问流量导致整个网站"雪崩",就不得不增加服务器数量,来应对这短短的3~4个小时的高峰流量,这让这些平台的成本不断增高,因为服务器需要用电,需要降温,需要有地方放,需要安保,需要有专业人员管理等等,但仔细想想,这些服务器在大部分时间里基本非空闲,但我们不得不为3~4个小时付出巨大代价,在这样的需求之下,以及硬件技术的升级,使得虚拟化技术迎来了自己的春天.
	  虚拟化技术之所以抽象,是源于它自身是建立在两项基础技术的基础上产生的,一方面是硬件技术,另一方面是软件技术,这两个巨人让虚拟化变得可能,变得简单,我对硬件了解不多,我仅想通过软件技术来引出一个点,希望每个想了解它的初学道友有一个全局概念.
	  最早软件技术仅是单机上运行一个执行单个计算任务的程序,这些程序输出信息是靠纸袋打孔的方式,后来输出技术演进出现了显示器,但这不是我们要关注的,这些程序仅仅在单机上运行,并不能满足我们所有需要,我们更想要的是能多机通信,将一个主机上程序的运行结果输出给另一个主机,由它根据这些数据做其它事,但如何让两个机器通信? 于是研究员们就发明了网络通信, 网络通信出现后,最早并没有标准,你有你的实现, 我有我的实现,于是就是出现了很多局域网通信技术,如:令牌环,以太网等等,后来大家发现,光我们内部自己玩,还是太局限,于是研究员们又开始尝试将多个局域网连起来一起玩,这就诞生了广域网通信技术,如:点对点(PPP),ATM,帧中继(虚电路)等等,这看上去好像一切都搞定了,但细想一下,软件要如何通信?早期是没有TCP/IP协议的,所有协议都在各自为政,各自发展,如ipx,tcp/ip等等,每种协议各不兼容,也就ipx不认识tcp/ip,反过来依然,程序要怎么通信? 在局域网通信时,只能自行调用底层硬件驱动接口,写一套基于某局域网通信协议的通信组件,然后,只能跟基于这种局域网通信协议的程序通信,换一种就不能通信了,但广域网来了,大家要通信,问题又来了,我通过局域网能通信的程序,不能认识广域网通信协议的数据包,必须在重写一套能识别广域网协议的网络组件,然后才能进行广域网通信,但对端也必须和你一样,它也要使用相同的广域网通信协议开发网络组件,并且还要开发一个跟你一样的局域网通信组件,才能识别广域网转为局域网协议后,你发来的数据包到底是什么. 非常之麻烦! 如何才能解决这些问题? 所以各种各样的通信标准就出现了, 在局域网中以太网技术最终因其成本低,易维护,带宽高等优势成为了标准,广域网技术中,TCP/IP协议最终成为主流,成为标准, 这些就垫定了Internet的基础,但早期网络通信是非常复杂的,因为它太底层,对程序员的要求非常高,你必须对底层硬件驱动接口有非常精深的了解,才能完成操纵网卡收发数据包,才能使用好,因此就有大牛看不惯了,于是就对这些非常底层的驱动接口做了一层封装,对外提供了一个统一的操作接口,这就是socket编程,后来软件技术继续发展,人们发现即便是socket编程也是非常底层的,门槛依然很高,后来就又有大牛出来,对socket做了一层封装,RPC调用就出现了,网络编程的难度再次降低,这也就是目前比较常用的网络通信方法.
	  说了这么多,这些和虚拟化有什么关系?
  想想看,虚拟化用最通俗的理解就是我们经常用到虚拟机,但这不准确,但可先这样理解,我们的笔记本上安装一个VMware就能安装很多台虚拟机,当然前提是你笔记本的CPU是支持硬件虚拟化的,在VMware中,VM之间通信我们都很清楚,它是通过VMnet虚拟网卡来通信的,这个虚拟网卡其实相当于一个虚拟网桥,所有连接到这个虚拟网桥上的VM都属于同一个局域网,因此它们之间就可以通信了,这个过程在我们看来很简单,但是其背后隐藏的虚拟网络才是虚拟化中最不可缺少的重要基础组件,而虚拟网络的根基则源于物理网络,而物理网络的根源则来源于网络通信,因此了解本源对深入技术的本质会有更深层次的理解,这个过程我个人觉得就是找到技术感觉的方法。
  
1.虚拟化原理介绍
2.libvirt
3.virsh
4.KVM原理(删除)
5.KVM原理和使用
6.KVM系统镜像制作
7.Xen原理
8.Xen简单使用(不建议花时间学习,以包含在Xen原理中了)
9.OpenStack总体架构概览&OpenStack核心组件介绍(待完善)
10.OpenStack一键部署Mitaka实现【这是我使用shell实现的测试环境部署脚本】
	  https://github.com/zhang75656/openstarck-mitaka
11.TCP协议深度刨析
12.TCP Socket通信详细过程
13.网络虚拟化的基本模型简介(删除)
14.OpenFlow和SDN的历史和原理介绍
15.VxLAN原理
16.容器原理
17.OpenVSwitch原理
18.OpenVSwitch使用参考
19.容器虚拟化原理
20.Cloud-init
21.Docker原理及使用
22.Docker网络(待总结)
23.Harbor简介及配置
24.Harbor高可用
25.系统架构概念及思想1
26.系统架构概念及思想2
27.传统IT容量估算思路
28.iptables使用总结
29.firewall-cmd使用总结
30.TC学习总结
31.ipset使用总结
32.LVS负载均衡总结
33.Ubuntu使用小结(主要为后面部署K8s集群做基础铺垫)
34.Kubernetes简介
35.yaml语法介绍(K8s基础)
36.Kubeasz部署K8s基础测试环境简介
37.k8s实现灰度发布(K8s基础测试镜像制作参考)
38.K8s无状态控制器原理介绍
39.K8s Service原理介绍
40.K8s的存储卷使用总结
41.K8s configMap原理介绍
42.K8s StatfulSet使用总结
43.K8s集群认证之RBAC
44.K8s之flannel网络+Calico策略
45.调度器/预选策略/优选函数
46.容器资源限制
47.helm原理
48.ELK原理
49.Elasticsearch状态API接口排障总结
50.fluentd日志收集器简介(待总结)
虚拟化原理到K8s实践经验路线总结的更多相关文章
- [原] KVM 虚拟化原理探究(1)— overview
		
KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...
 - Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结
		
Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结 1. 什么是可扩展的应用程序?1 2. 松耦合(ioc)2 3. 接口的思考 2 4. 单一用途&模块化,小粒度化2 ...
 - 根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程
		
在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1 哪些知识点 ...
 - k8s实践 - 如何优雅地给kong网关配置证书和插件。
		
前言 从去年上半年微服务项目上线以来,一直使用kong作为微服务API网关,整个项目完全部署于k8s,一路走来,对于k8s,对于kong,经历了一个从无到有,从0到1的过程,也遇到过了一些坎坷,今天准 ...
 - Tengine HTTPS原理解析、实践与调试【转】
		
本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...
 - 华为云对Kubernetes在Serverless Container产品落地中的实践经验
		
华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机 ...
 - 02 | 健康之路 kubernetes(k8s) 实践之路 : 生产可用环境及验证
		
上一篇< 01 | 健康之路 kubernetes(k8s) 实践之路 : 开篇及概况 >我们介绍了我们的大体情况,也算迈出了第一步.今天我们主要介绍下我们生产可用的集群架设方案.涉及了整 ...
 - 【大量干货】史上最完整的Tengine HTTPS原理解析、实践与调试
		
本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...
 - Redis深度历险——核心原理与应用实践
		
高可用架构」的各位老铁们,你们好!你是否还记得上个月发布的文章中,有两篇深入讲解Redis的文章,分别是和,广大粉丝读者们对这两篇文章整体评价颇高.而我就是这两篇文章的原创作者「老钱」(钱文品),我是 ...
 
随机推荐
- MYSQL LIMIT 性能测试
			
查询语句 # 普通表 SELECT * FROM test_page LIMIT m,n # 内存表 SELECT * FROM test_page_memory LIMIT m,n 总结 查询位置( ...
 - Web应急:网站首页被篡改
			
网站首页被非法篡改,是的,就是你一打开网站就知道自己的网站出现了安全问题,网站程序存在严重的安全漏洞,攻击者通过上传脚本木马,从而对网站内容进行篡改.而这种篡改事件在某些场景下,会被无限放大. 现象描 ...
 - pod install速度慢,pod repo update 速度慢解决方法
			
相信大家已经感受到pod install速度越来越慢了,网上提供了几种解决方案,但是都没有完全解决速度慢的问题. 使用国内镜像的Specs 在pod install时使用命令pod install - ...
 - 开源矿工工具箱新增了ETH反抽水工具
			
开源矿工工具箱新增了ETH反抽水工具 —— 将决定使用Claymore挖ETH时拦截的老外的抽水归谁的权力交给矿工 众所周知,所有的挖矿辅助工具都拦截了老外的Claymore内核挖ETH时的内核开发费 ...
 - Sql 分页语句
			
select * from (select *,ROW_NUMBER()over(order by [ID]) as rowindex from product ) tb where rowinde ...
 - PIE SDK影像快速拼接
			
1.算法功能简介 快速拼接是对若干幅互为邻接的遥感数字图像拼在一起,构成一幅整体影像的技术过程.PIE支持快速拼接算法功能的执行,下面对快速拼接算法功能进行介绍. 2.算法功能实现说明 2.1 实现步 ...
 - 如何提升Web前端性能?
			
什么是WEB前端呢?就是用户电脑的浏览器所做的一切事情.我们来看看用户访问网站,浏览器都做了哪些事情:输入网址 –> 解析域名 -> 请求页面 -> 解析页面并发送页面中的资源请求 ...
 - ArrayList与LinkedList
			
ArrayList与Linkedlist的增删改查问题以及集合选择问题 线程:安全:Vector 不安全:ArrayList,LinkedList 增删多:LinkedList 查询多:ArrayLi ...
 - 10. Javascript 前后端数据加密
			
为了加强项目的接口安全程度,需求如下 var options = { // 前端需要传送的数据加密 data: { abc: 123, bcd: 123, cds: '撒旦教付货款12313', }, ...
 - Jenkins 任务定时
			
在项目配置中选择 Build Triggers 下勾选 Build periodically,可以对项目进行定时构建设置.构建设置详细可通过右边的问号符号进行查看. 定时构建字段遵循 cron 的语法 ...