
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
原子操作的意思是该操作执行过程中不能被中断,该操作要么不执行,要么全部执行,不存在执行一部分的情况。在编程语言中,有些操作虽然看起来只有一行,但是变成机器语言后就是多个操作步骤,其中的每个操作步骤都是一个原子操作,但是这些操作合起来却不是原子操作,这样的代码在并发执行时可能会调度到其他线程,从而出现中断的情况,造成数据不一致。原子操作是不能被分割和中断的操作,在多线程并发环境中修改共享数据时,由于

在容器环境下,有两种使用cgroup的方式:一种是直接操作cgroup在操作系统上的文件,另一种是通过一层代理的方式间接使用cgroup,这两种方式就分别对应了cgroup driver中的cgroupfs和systemd。在k8s的组件中,kubelet负责与容器运行时交互,因此,cgroup driver的配置就在kubelet的配置yaml中。容器运行时和k8s都可以设置cgroup dri

在学习使用k8s进行应用的部署时,或者从github上下载一些组件进行部署时,通常是直接用yaml的方式部署,用这种方式部署时,有个比较大的问题是,当参数需要调整时,就需要阅读整个yaml文件,找到对应的配置进行修改,而且,这种方式不方便进行版本管理,当其他人进行部署时,就需要知道修改了哪些参数以及对应的值,也就是说,无法保证两次部署的环境一致。

CDMI是Cloud Data Management Interface云数据管理接口的缩写,是对云存储系统中的数据进行管理的一种方式。 Interface,何谓接口?接口就是两个系统进行通信的一种方式,也可以理解为“协议”。当两个系统都能识别接口,也就是知道接口所表达的意义,那么,两个系统就能够用接口来进行通信。而CDMI作为一种对云存储系统中数据进行管理的接口,实际上就是云存储系统和
EBS使用Amazon EC2实例(虚拟机)提供耐用的块级存储。EBS是非实例的、网络连接存储,它能够持久独立于一个单独的Amazon EC2实例的运行生命周期。当一个EBS卷连接到一个EC2的实例后,你可以自由和它进行交互,好像你已经拥有一个物理上的磁盘驱动器,我们也可以根据自己的选择将它格式化为一种文件系统。你能够使用一个EBS卷启动一个Amazon EC2实例,然后将多个EBS卷连接到一个A
由于实验室项目需要云存储系统,因此在实验室服务器上搭建一个基于OpenStack swift的云存储系统。最开始按照官方网站上介绍的方法,使用SAIO方式安装http://docs.openstack.org/developer/swift/development_saio.html,但是中间经常安装到最后,测试的时候,认证不成功,而且安装的过程比较繁琐,于是采用了git的安装方式git
所以,如果只部署上面的yaml文件,本身并没有部署任何跟监控相关的组件,只是让k8s中多了一些资源的类型,但是这些资源的变化需要operator控制器去执行一些操作,例如,如果需要部署prometheus,就需要创建Prometheus资源,在创建这些后,prometheus-operator就会去部署prometheus;容器的监控依赖cAdvisor组件,该组件会获取容器维度的指标数据,包含容

控制器管理器负责管理所有的控制器,而几乎所有的资源都有对应的控制器,例如,Replication Controller Controller(RC是一种资源,而RCC是管理RC的控制器)、Deployment Controller等,Replication Controller负责维护Pod的副本数,当Pod的实际副本数少于期望的副本数,RC就会创建新的Pod。kubelet可以从apiserve

为了能够让应用程序从统一的地方加载配置文件,同时,能够一次性修改Deployment或者DaemonSet的所有Pod的配置项,k8s提供了两种保存配置的方式,ConfigMap和Secret(ConfigMap是直接以键值对的方式保存配置项,Secret则是会对配置项的值进行加密存储),Pod可以将它们作为卷挂载到容器中。,最终的ConfigMap中的配置项的值会将多行变成一行,这当然不是我们预

升级过程中总是有3个Pod提供服务,如果升级过程发现异常,可以直接修改old_replicas进行回退,同时,为了持续观察新的Pod的情况,在新的Pod创建完成后,不是立刻就对外提供服务,而是会等待一段时间,用于观察请求成功率,从而决定是否继续进行升级。为了解决服务更新的问题,K8S在RS的基础上提供了Deployment,它最大的特点是提供了滚动升级的能力,并且可以控制升级的速率,使得升级过程中
