加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

经济低迷带来很大的不确定性

发布时间:2021-02-20 17:04:34 所属栏目:外闻 来源:互联网
导读:图中的VMM意为Virtual Machine Monitor,虚拟机监控程序,或者用另一个更专业的名词:HyperVisor 从图中可以清楚的看到两种虚拟化方案的区别: Type I: 直接凌驾于硬件之上,构建出多个隔离的操作系统环境 Type II: 依赖于宿主操作系统,在其上构建出多个隔

图中的VMM意为Virtual Machine Monitor,虚拟机监控程序,或者用另一个更专业的名词:HyperVisor

从图中可以清楚的看到两种虚拟化方案的区别:

Type I: 直接凌驾于硬件之上,构建出多个隔离的操作系统环境

Type II: 依赖于宿主操作系统,在其上构建出多个隔离的操作系统环境

我们熟知的VMware事实上有两个产品线,一个是VMware ESXi,直接安装在裸金属之上,不需要额外的操作系统,属于第一类虚拟化。另一个是我们普通用户更加熟知的VMware WorkStation,属于第二类虚拟化。

如何实现上述的虚拟化方案呢?

一个典型的做法是——陷阱 & 模拟技术

什么意思?简单来说就是正常情况下直接把虚拟机中的代码指令放到物理的CPU上去执行,一旦执行到一些敏感指令,就触发异常,控制流程交给VMM,由VMM来进行对应的处理,以此来营造出一个虚拟的计算机环境。

不过这一经典的虚拟化方案在Intel x86架构上却遇到了问题。

全虚拟化:VMware 二进制翻译技术

不同于8086时代16位实地址工作模式,x86架构进入32位时代后,引入了保护模式、虚拟内存等一系列新的技术。同时为了安全性隔离了应用程序代码和操作系统代码,其实现方式依赖于x86处理器的工作状态。

这就是众所周知的x86处理器的Ring0-Ring3四个“环”。



 

1974年,两位计算机科学家Gerald Popek 和 Robert Goldberg发表了一篇重要的论文《虚拟化第三代体系结构的正式要求》,在这篇论文中提出了虚拟化的三个基本条件:

  • 等价性:程序在本地计算机执行和在虚拟机中执行应该表现出一样的结果(不包括执行时间的差异)
  • 安全性:虚拟机彼此隔离,与宿主计算机隔离
  • 性能:绝大多数情况下虚拟机中的代码指令应该直接在物理CPU中执行,少部分特殊指令可由VMM参与。

那如何实现对计算机底层的物理资源的虚拟化分割呢?在计算机技术的发展历史上,出现了两种著名的方案,分别是I型虚拟化和II型虚拟化


 

2.数据采集

各维度的数据采集主要通过以下方式:

  • 部署cAdvisor(参见注释2)采集容器相关的性能指标数据,并通过metrics接口用Prometheus抓取;
  • 也可根据需求可将各种监控,日志采集的Agent部署在独立的容器中,跟随Pod 中的容器一起启动监督采集各种数据,具体可根据实际需求;
  • 通过Prometheus-node-exporter采集主机的性能指标数据,并通过暴露的metrics接口用Prometheus抓取
  • 通过exporter采集应用的网络性能(Http、Tcp等)数据,并通过暴露的metrics接口用Prometheus抓取
  • 通过kube-state-metrics采集k8S资源对象的状态指标数据,并通过暴露的metrics接口用Prometheus抓取
  • 通过etcd、kubelet、kube-apiserver、kube-controller-manager、kube-scheduler自身暴露的metrics获取节点上与k8S集群相关的一些特征指标数据。

*注释2:

node-exporter:负责采集主机的信息和操作系统的信息,以容器的方式运行在监控主机上。

cAdvisor:负责采集容器的信息,以容器的方式运行在监控主机上。



 

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读