青岛网站建设商家,昆山网站建设是什么,微信上如何创建小程序,海外房产网1、pod#xff1a;k8s中最小的资源管理组件#xff0c;最小化运行容器化应用的资源管理对象
#xff08;1#xff09;pod是一个抽象的概念#xff0c;可以理解为一个或者多个容器化应用的集合
#xff08;2#xff09;一个pod中运行一个容器是最常用的方式
#xff…1、podk8s中最小的资源管理组件最小化运行容器化应用的资源管理对象
1pod是一个抽象的概念可以理解为一个或者多个容器化应用的集合
2一个pod中运行一个容器是最常用的方式
3一个pod中同时运行多个容器在一个pod中可以同时封装多个需要耦合的互相协作的容器这些多个容器共享资源互相协作组成一个service单位
4一个pod内的容器必须都运行在一个node节点上基于现代容器技术的要求就是一个pod运行一个容器一个容器只运行一个进程
①横向扩展方便扩缩容
②解耦一个pod内运行多个容器耦合度太高一旦一个进程失败整个pod将全部失败实现解耦基于pod可以创建多个副本实现高可用和负载均衡
③管理方便简单直观
5不论运行一个或者多个容器k8s管理的都是pod而不是容器
2、pod内的容器共享资源共享机制
1共享机制pause底层基础容器来提供共享资源的机制
①pause是基础容器也可以称为父容器管理pod内容器的共享操作
②pause还可以管理容器的生命周期
2k8s提供了pause容器pause的作用
①为pod内的所有容器提供了统一的命名空间
②启动容器的pid命名空间进程号每个pod中pause都作为pid为1的进程init进程可回收僵尸进程pause作为所有容器进程的父进程管理pod内部的容器进程
③创建pod时先创建pause容器然后再拉取镜像生成容器最后形成podpause来分配和回收容器的资源
3kubelet和pause
①kubelet管理node节点上的容器的生命周期pause管理pod中的容器 4pause容器共享两种资源 网络资源 • 每个pod都会被分配一个集群内部的唯一的IP地址pod内部的容器共享网络pod在集群内部的IP地址和端口。 • pod内部的容器可以使用localhost互相通信pod中的容器与外部通信时从共享的资源当中进行分配宿主机的端口映射 存储资源 pod可以指定多个共享的volumepod内的容器共享这些volume volume可以实现数据的持久化 防止pod重新构建之后文件消失 3、总结
1每个pod都有一个基础容器pause容器
2pause容器对应的镜像属于k8s集群的一部分创建集群就会有pause这个基础镜像
3pod里面包含了一个或者多个相关的容器应用
4、设置基础基础镜像pause的作用
1引入pause机制代表整个容器组的状态可以解决对pod内部容器整体状态的判断
2pod内的容器共享ip、volume挂载卷解决了容器内网络通信的问题解决了容器内部文件共享的问题
5、pod的分类 自主式pod 此类pod不会自我修复若pod内容器的进程终止或被删除、缺少资源被驱逐这种pod没有办法自愈 控制器管理pod 能滚动升级、自愈自动重启、管理pod的数量以及pod的扩缩容
6、pod的生命周期重点 pod生命周期的状态 pending 挂起pod已被创建尚未被分配到运行的node节点原因节点上资源不够、需要等待其他pod的调度 running 运行中pod已经被分配到了node节点pod内部的所有容器都已经启动运行状态正常稳定 complete/ successded 容器内部的进程运行完毕正常退出没有发生错误 failed pod中的容器非正常退出发生了错误需要通过查看详情和日志来定位问题 unknow 由于某些原因k8s集群无法获取pod的状态一般是APIserver出现问题 terminating 终止中pod正在被删除里面的容器正在终止还要进行资源回收、垃圾清理、以及终止过程中需要执行的命令
7、创建pod的容器分类
1基础容器pause container
2init容器初始化容器init containerinit容器运行完即被终止
①前两个过程中pod的状态是init:3/3才会进入业务容器 init容器的作用 • 环境变量可以在创建的过程中为业务容器定制好相关的代码和工具 • init容器独立于业务容器是单独构建的一个镜像对业务容器不产生任何安全影响 • init容器能以不同于pod内业务容器的文件系统试图运行secrets的权限业务容器无法访问secrets的权限 总结init容器提供了业务容器运行之前的先决条件提供了一种阻塞或者延迟机制来控制业务容器的启动只有前置条件满足才会创建pod的业务容器
3业务容器main container
8、pod容器创建的过程 9、pod创建过程的总结
1在pod的启动过程中容器按照初始化容器先启动每个容器必须在下一个容器启动之前成功退出
2如果运行失败会按照容器的重启策略进行指定动作restartPolicyalways、never、onfailure—非正常退出才会重启
3所有的init容器没有成功之前pod是不会进入ready状态的init容器与service无关不能对外提供访问
4如果重启pod所有的init容器一定会重新执行
5如果修改init容器的spec参数只限制于image其他的修改字段都不生效基于deployment
6每个容器的名称都要唯一不能重复
10、pod的重启策略基于容器的状态
1On Failure策略
①状态码正常 ②状态码不正常 11、总结
1pause容器底层容器/基础容器
①pause提供pod内容器的网络和存储共享以及pod内容器退出之后的资源回收
2init容器人为设定的业务容器启动之前的必要条件
3pod的生命周期
①第一步起pause基础容器
②第二步init容器全部成功退出才起业务容器
③poststart、prestop容器的钩子
④探针探测容器的健康状态伴随pod的整个生命周期除了启动探针
4pod就是用来封装容器的业务是容器服务也是容器端口也是容器