以下这些内容均为自行学习总结的内容,很多内容没有写概括介绍,看起来可能会有些突兀,但并不影响整体性,我自己的学习经验告诉我,这些内容还仅仅是最精简的核心部分,周边还有很多可扩展内容,主要是操作系统生态方面的内容,这些内容我目前无法概括总结,但会陆续将计算机原理和网络原理部分梳理成系列文章,以便能成系统,学习技术到一定阶段一定是需要有无全局观的,否则很容易迷失方向而无法深入。另外因为我自己的能力也很有限,无法将下面文章写的尽善尽美,但还是斗胆将自己走的弯路过滤出去,希望能分享一些有价值的东西,能让想我一样的初学者能规避一些不必要的错误; 另外我的经验是积极捕捉每一个学习的机会,不分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实践经验路线总结的更多相关文章

  1. [原] KVM 虚拟化原理探究(1)— overview

    KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...

  2. Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结

    Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结 1. 什么是可扩展的应用程序?1 2. 松耦合(ioc)2 3. 接口的思考 2 4. 单一用途&模块化,小粒度化2 ...

  3. 根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程

    在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1  哪些知识点 ...

  4. k8s实践 - 如何优雅地给kong网关配置证书和插件。

    前言 从去年上半年微服务项目上线以来,一直使用kong作为微服务API网关,整个项目完全部署于k8s,一路走来,对于k8s,对于kong,经历了一个从无到有,从0到1的过程,也遇到过了一些坎坷,今天准 ...

  5. Tengine HTTPS原理解析、实践与调试【转】

    本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...

  6. 华为云对Kubernetes在Serverless Container产品落地中的实践经验

    华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机 ...

  7. 02 | 健康之路 kubernetes(k8s) 实践之路 : 生产可用环境及验证

    上一篇< 01 | 健康之路 kubernetes(k8s) 实践之路 : 开篇及概况 >我们介绍了我们的大体情况,也算迈出了第一步.今天我们主要介绍下我们生产可用的集群架设方案.涉及了整 ...

  8. 【大量干货】史上最完整的Tengine HTTPS原理解析、实践与调试

    本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...

  9. Redis深度历险——核心原理与应用实践

    高可用架构」的各位老铁们,你们好!你是否还记得上个月发布的文章中,有两篇深入讲解Redis的文章,分别是和,广大粉丝读者们对这两篇文章整体评价颇高.而我就是这两篇文章的原创作者「老钱」(钱文品),我是 ...

随机推荐

  1. UVA 10924 Prime Words 题解

    Prime Words A prime number is a number that has only two divisors: itself and the number one. Exampl ...

  2. PG undo redo

    除了理所当前的各路文本记录(比方数据库的运行报错日志之类),PG的二进制类日志文件主要有两个,一个就是对应传统数据库理论的redo日志,理论上,所有数据的修改操作都会被记录到这个日志,在事务提交的时候 ...

  3. python实现AES加密

    pip install pycryptodomex 需要安装pycryptodomex模块 aes加密 from Cryptodome.Cipher import AES from binascii ...

  4. 删除链表中的倒数第N个节点

    题目 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: ->->->->, 和 n = . 当删除了倒数第二个节点后,链表变为 -&g ...

  5. Java自学-I/O 中文问题

    Java中的编码中文问题 步骤 1 : 编码概念 计算机存放数据只能存放数字,所有的字符都会被转换为不同的数字. 就像一个棋盘一样,不同的字,处于不同的位置,而不同的位置,有不同的数字编号. 有的棋盘 ...

  6. SpringJDBC源码解析

    读完本篇文章需要很长很长时间.... 传统JDBC 相信大家对传统的jdbc已经很熟悉了,无非就是下面这个流程 1234567891011 //1.加载驱动程序Class.forName(" ...

  7. 设计模式之(十四)责任链模式(Chain of Responsibility)

    在业务场景中,有很多是需要审批的.审核方式还可能常常发生变化,而责任链模式就是为了解决这种场景的情况的. 责任链模式定义:十多个对象都有机会处理请求,从而避免发送者和接受者之间的耦合关系.讲这些对象连 ...

  8. js中this绑定方式及如何改变this指向

    this的绑定方式基本有以下几种: 隐式绑定 显式绑定 new 绑定 window 绑定 箭头函数绑定 隐式绑定 第一个也是最常见的规则称为 隐式绑定. var a = { str: 'hello', ...

  9. Spring boot配置MongoDB以及Morphia踩坑记录

    pom 因为项目中采用Morphia(MongoDB的ODM框架,对象-文档映射(object-document mapper)),因此需要在pom文件中引入相应依赖: <dependency& ...

  10. mybatis中的高级查询

    Mybatis作为一个ORM框架,肯定是支持sql高级查询的. 下面的一个案例来为大家详细讲解mybatis中的高级查询. 案例说明: 此案例的业务关系是用户,订单,订单详情与商品之间的关系. 以订单 ...