随笔分类 -  kubernates

kubernates
摘要:k8s资源对象:spec期望的状态,status观测到的状态,metadata:labels,annotations,ownerreference(所有者,即集合类资源,比如pod集合:replicaset,statefulset)控制器模式,它是声明式api驱动的,不是命令式,是基于k8s资源对象 阅读全文
posted @ 2020-04-28 16:30 ppjj
摘要:容器是视图隔离,资源控制,独立的文件系统,就是进程的集合。容器镜像是运行容器所需要的文件集合,它有分层和复用的优势。具有一次构建,到处运行的特点。dockfile是描述镜像构建步骤。changeset是构建步骤所产生的文件系统的变化,包含新建,删除,修改文件。容器生命周期:init生命周期=容器生命 阅读全文
posted @ 2020-04-28 16:27 ppjj
摘要:kata containers像一个pod sandbox,里面只有guest kernel跑着一些容器本事的打包和容器应用,可以通过k8s从外部管理pod容器,获取metrics/debug信息而不登陆虚拟机,而且系统是只读的,并不包含完整的操作系统,并不像传统虚拟机。对于容器来说,它只有容器引擎 阅读全文
posted @ 2020-04-28 16:04 ppjj
摘要:k8s APIserver不仅面向最终用户,同时面向工具和扩展开发者,是开放生态系统的基础,是k8s系统的入口,封装了核心对象的增删改查操作,以restful接口方式提供给外部客户和内部组件调用。 kube-proxy是一个简单的网络代理和负载均衡器,它具体实现service模型,每个service 阅读全文
posted @ 2020-04-28 16:02 ppjj
摘要:runtimeclass是k8s对一种内置的全局域资源,是容器运行时,解决了集群里有哪些可用的容器运行时,让pod选择合适的容器运行时,让pod调度到安装有指定的容器运行时的节点上,统计容器运行时产生的业务运行以外的开销,还有scheduling和overhead功能。 它的核心是handler,表 阅读全文
posted @ 2020-04-28 16:01 ppjj
摘要:容器运行时就是启动和停止容器的组件,有docker等,在cri出现之前,docker作为第一个容器运行时,kubelet通过内嵌的dockershim操作docker API来操作容器,达到面向终态的效果,但是难以维护,太复杂,到后来就是对容器运行时的操作抽象出一个接口,将kubelet代码与具体容 阅读全文
posted @ 2020-04-28 16:00 ppjj
摘要:k8s API请求从发起到持久化入库:首先是人机交互,kubelet对APIserver的请求过程,然后是机机交互,pod中业务逻辑与APIserver之间的交互,这里面分为三个步骤,首先是authentication认证,可能返回401错误,然后是authorization鉴权,可能返回403错误 阅读全文
posted @ 2020-04-28 15:59 ppjj
摘要:cni是容器网络的API接口,它是k8s中一个调用网络实现的接口,通过这个API调用不同的网络插件,包括calico,flannel,terway,weaver以及contiv。 k8s通过配置文件决定使用什么样的cni:首先在每个节点上配置cni配置文件(/etc/cni/net.d/xxnet. 阅读全文
posted @ 2020-04-28 15:58 ppjj
摘要:pod的IP是真身份证,唯一的,拒绝任何变造nat,pod内的容器共享。这个身份证,实现方法有通过外部路由器,或者自己overlay。 协议层次:需要从l2层(MAC寻址)到l3层(IP寻址)到l4+层(4层协议+端口)。网络拓扑:从容器到宿主机到远端。 容器网络解决方案:接入(veth+bridg 阅读全文
posted @ 2020-04-28 15:57 ppjj
摘要:deployment认为管理的所有同版本的pod都是一模一样的副本,也就是在deployment controller看来,所有同版本的pod,不管里面部署的应用还是行为,都是完全相同,满足了无状态应用,但是不满足有状态应用。 这时需要statefulset,支持pod之间并非相同的副本,每一个po 阅读全文
posted @ 2020-04-28 15:56 ppjj
摘要:crd是k8s在1.7版本引入,用户根据自己的需求自定义k8s资源,自己添加的对象资源是native,一等公民,跟k8s中的资源拥有相同的对象资源,都存在etcd中,APIversion就是crd的一个声明,kind就是customresourcedefinition,name资源的名字,spec用 阅读全文
posted @ 2020-04-28 15:53 ppjj
摘要:k8s挂载volume过程: 第一步,用户创建包含PVC的pod, 第二步,PVC controller会不断观察APIserver,如果发现创建完成的PVC处于未绑定状态,它就会试图绑定pv跟PVC, 第三步,通过scheduler完成调度, 第四步,pod调度到节点之后,但是pv还没有被挂载at 阅读全文
posted @ 2020-04-28 15:52 ppjj
摘要:上一篇文章中,我们其实介绍了 Kubernetes 的对象其实就是系统中持久化的实体,Kubernetes 用这些实体来表示集群中的状态,它们描述了集群中运行的容器化应用以及这些对象占用的资源和行为。 不过当我们想要了解 Kubernetes 的实现原理时,绕不开的其实就是 Kubernetes 中 阅读全文
posted @ 2020-01-05 18:54 ppjj 阅读(379) 评论(0) 推荐(0)