12 2021 档案
摘要:简单存储 EmptyDir EmptyDir是最基础的Volume类型,一个EmptyDir就是Host上的一个空目录。 EmptyDir是在Pod被分配到Node时创建的,它的初始内容为空,并且无须指定宿主机上对应的目录文件,因为kubernetes会自动分配一个目录,当Pod销毁时,EmptyD
阅读全文
摘要:RBAC权限控制 我们知道对于资源对象的操作都是通过API Server进行的,那么集群是怎么知道我们的请求是合法的请求呢?这就需要了解Kubernetes的另外一个重要知识点:RBAC(基于角色的权限控制)。 管理员可以通过Kubernetes API动态配置策略来启动RBAC,需要在kube-a
阅读全文
摘要:Horizontal Pod Autoscaler(HPA) 我们可以通过手动执行kubeclt sacle命令实现Pod的扩缩容,但是这显然不符合Kubernetes的定位目标—自动化和智能化。Kubernetes期望可以通过监测Pod的使用情况,实现Pod数量的自动调整,于是就产生了HPA这种控
阅读全文
摘要:Job 和 CronJob Deployment, StatefuleSet以及DaemonSet这三个控制器主要编排的对象都是"在线业务",比如我们举例常用的Nginx,MySQL等。这些应用一旦运行起来,除非出错或者停止,它的容器进程会一直保持Running状态。 但是,有一类作业显然不满足这样
阅读全文
摘要:Kubernetes如何通过StatefulSet支持有状态应用? 为什么Deployment不能编排所有类型应用? Deployment认为一个应用中所有的Pod是完全一样的,所以他们之间没有顺序,也无所谓运行在哪台宿主机上。需要的时候,Deployment就可以通过Pod模板创建新的Pod;不需
阅读全文
摘要:Kubernetes控制器—Deployment 我们已经知道ReplicaSet控制器是用来维护集群中运行的Pod数量的,但是往往在实际操作时候,我们反而不去直接使用RS,而是使用更上层的控制器,比如我们今天的主角Deployment。 Deployment 一个非常重要的功能就是实现了 Pod
阅读全文
摘要:Kubernetes控制器-ReplicaSet 控制循环 Kubernetes控制器会监听资源的创建、更新、删除事件,并触发Reconcile函数作为响应。整个调整过程被称作Reconclile Loop(调谐循环)或者Sync loop(同步循环)。Reconcile是一个使用资源对象的命名空间
阅读全文
摘要:在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足需求,因为很多情况下,我们想控制某些Pod到达某些节点上,那么应该怎么做?这就要求了解Kubernetes对Pod的调度规则,Kubernete
阅读全文
摘要:一、Pod的介绍 1、为什么需要Pod? 假设 Kubernetes 中调度的基本单元就是容器,对于一个非常简单的应用可以直接被调度直接使用,没有什么问题,但是往往还有很多应用程序是由多个进程组成的,有人可能会说把这些进程都打包到一个容器中去不就可以了吗?理论上是可以实现的,但是不要忘记了 Dock
阅读全文
摘要:Docker下如何实现镜像多阶级构建? 在Docker早期版本中,对于编译型语言(例如C、Java、Go)的镜像构建,我们只能将应用的编译和运行环境的准备,全部放在一个Dockerfile里面,这就导致我们构建出来的镜像体积很大,从而增加了镜像的存储和分发成本。 1、借助额外脚本构建 为了减小镜像体
阅读全文
摘要:1、CNM CNM (Container Network Model) 是 Docker 发布的容器网络标准,意在规范和指定容器网络发展标准,CNM 抽象了容器的网络接口 ,使得只要满足 CNM 接口的网络方案都可以接入到 Docker 容器网络,更好地满足了用户网络模型多样化的需求。 CNM 只是
阅读全文
摘要:1、什么是Cgroups? 在说Cgroups之前,我们先说说容器的"限制"问题。 我们知道通过Linux Namespace技术,可以实现容器中的进程看不到别的容器资源,但是有一个问题你是否注意到?容器内的进程任然可以任意地使用主机的CPU、内存等资源。如果某一个容器使用的主机资源过多,可能导致主
阅读全文
摘要:1、什么是Namespace? Namespace 是 Linux 内核的一个特性,该特性可以实现在同一主机系统中,对进程 ID、主机名、用户 ID、文件名、网络和进程间通信等资源的隔离。Docker 利用 Linux 内核的 Namespace 特性,实现了每个容器的资源相互隔离,从而保证容器内部
阅读全文