虚拟化原理到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,反过来依然,程序要怎么通信? 在局域网通信时,只能自行调用底层socket接口,写一套基于某局域网通信协议的通信组件,然后,只能跟基于这种局域网通信协议的程序通信,换一种就不能通信了,但广域网来了,大家要通信,问题又来了,我通过局域网能通信的程序,不能认识广域网通信协议的数据包,必须在重写一套能识别广域网协议的网络组件,然后才能进行广域网通信,但对端也必须和你一样,它也要使用相同的广域网通信协议开发网络组件,并且还有开发一个跟你一样的局域网通信组件,才能识别广域网转为局域网协议后,你发来的数据包到底是什么. 非常之麻烦! 如何才能解决这些问题? 所以各种各样的通信标准就出现了, 在局域网中以太网技术最终因其成本低,易维护,带宽高等优势成为了标准,广域网技术中,TCP/IP协议最终成为主流,成为标准, 这些就垫定了Internet的基础,但早期网络通信是非常复杂的,因为它太底层,对程序员的要求非常高,你必须对底层硬件驱动接口有非常精深的了解,才能完成操纵网卡收发数据包,才能使用好,因此就有大牛看不惯了,于是就对这些非常底层的驱动接口做了一层封装,对外提供了一个统一的操作接口,这就是socket编程,后来软件技术继续发展,人们发现即便是socket编程也是非常底层的,门槛依然很高,后来就又有大牛出来,对socket做了一层封装,RPC调用就出现了,网络编程的难度再次降低,这也就是目前比较常用的网络通信方法.
  说了这么多,这些和虚拟化有什么关系?
  。。。。突然没有思路了,就先写到这里吧(待续)
  

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日志收集器简介(待总结)

原文地址:https://www.cnblogs.com/wn1m/p/11293865.html

时间: 2024-10-13 23:01:20

虚拟化原理到K8s实践经验路线总结的相关文章

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

在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1  哪些知识点可以延后了解 在Java Core方面,下表中的知识点你可以不学习或者到用的时候再学习. 知识点 学习的时机 界面开发方面的知识,比如Swing等 Java主要用在Web方面,很少有项目会用到这些UI部分的知识点.大家可以等实际用到时再学习 Socket编程方面 可以先了解概念,等有项目需求时再学习

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

华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机的方案,对于端到端资源利用率有一个很大的提升.而在 K8S 之上我们通过一层封装实现了超规模资源池.大家知道 K8S 现开源的版本最大只能支持到5000节点,并且这是在 Google 云上的验证结果,而在很多其他的云平台往往达不到.主要是受限于底层网络和存储系统. 所以在华为云,我们的做法是通过一层

k8s实践(四):Controller

环境说明: 主机名 操作系统版本 ip docker version kubelet version 配置 备注 master Centos 7.6.1810 172.27.9.131 Docker 18.09.6 V1.14.2 2C2G 备注 node01 Centos 7.6.1810 172.27.9.135 Docker 18.09.6 V1.14.2 2C2G 备注 node02 Centos 7.6.1810 172.27.9.136 Docker 18.09.6 V1.14.2

《卷积神经网络的Python实现》PDF代码+《解析深度学习卷积神经网络原理与视觉实践》PDF分析

CNN正在革新几个应用领域,如视觉识别系统.自动驾驶汽车.医学发现.创新电子商务等.需要在专业项目或个人方案中利用复杂的图像和视频数据集来实现先进.有效和高效的CNN模型. 深度卷积网络DCNN是目前十分流行的深度神经网络架构,它的构造清晰直观,效果引人入胜,在图像.视频.语音.语言领域都有广泛应用. 深度学习,特别是深度卷积神经网络是人工智能的重要分支领域,卷积神经网络技术也被广泛应用于各种现实场景,在许多问题上都取得了超越人类智能的结果. <卷积神经网络的Python实现>作为深度学习领域

k8s实践(八):ConfigMap and Secret

环境说明: 主机名 操作系统版本 ip docker version kubelet version 配置 备注 master Centos 7.6.1810 172.27.9.131 Docker 18.09.6 V1.14.2 2C2G master主机 node01 Centos 7.6.1810 172.27.9.135 Docker 18.09.6 V1.14.2 2C2G node节点 node02 Centos 7.6.1810 172.27.9.136 Docker 18.09.

OSGi原理与最佳实践:第一章 OSGi框架简介(2)

OSGi原理与最佳实践:第一章 OSGi框架简介(2) 由  ValRay 发布 已被浏览4884次 共有3条评论 已被3个人收藏 2013-08-16 21:23 顶(0) 踩(0) osgi原理与最佳实践 1.1.4 开发传统类型的应用 1.1.4.1 B/S 我们首先来看一下,如何基于 OSGi 来开发 B/S 结构的应用.B/S 结构应用程序的开发,可有两个选择:一个是在 OSGi 的框架中嵌入 Http 服务器,另外一个是在 Servlet 容器中嵌入 OSGi 框架.下面分别介绍这两

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM 由  ValRay 发布 已被浏览8409次 共有3条评论 已被2个人收藏 2013-08-16 21:29 顶(1) 踩(0) osgi原理与最佳实践 1.3 Spring-DM 1.3.1 简介 Spring-DM 指的是 Spring Dynamic Modules.Spring-DM 的主要目的是能够方便地将 Spring 框架 和OSGi框架结合在一起,使得使用Spring的应用程序可以方便简单地部署在OSGi环

郑捷《机器学习算法原理与编程实践》学习笔记(第六章 神经网络初步)6.3 自组织特征映射神经网路(SMO)

具体原理网址:http://wenku.baidu.com/link?url=zSDn1fRKXlfafc_tbofxw1mTaY0LgtH4GWHqs5rl8w2l5I4GF35PmiO43Cnz3YeFrrkGsXgnFmqoKGGaCrylnBgx4cZC3vymiRYvC4d3DF3 自组织特征映射神经网络(Self-Organizing Feature Map.也称Kohonen映射),简称为SMO网络,主要用于解决模式识别类的问题.SMO网络属于无监督学习算法,与之前的Kmeans算

《机器学习算法原理与编程实践》学习笔记(二)

(上接第一章) 1.2 对象.矩阵与矢量化编程 1.2.1对象与维度(略) 1.2.2初识矩阵(略) 1.2.3矢量化编程与GPU运算(略) 1.2.4理解数学公式与NumPy矩阵运算 1.矩阵的初始化 #coding:utf-8 import numpy as np #导入NumPy包 #创建3*5的全0矩阵和全1的矩阵 myZero = np.zeros([3,5])#3*5的全0矩阵 print myZero myZero = np.ones([3,5])##3*5的全1矩阵 print