Kubernetes1.5

在kubernetes1.3的POD中,有两类容器,一类是系统容器(POD Container),一类是用户容器(User Container),在用户容器中,现在又分成两类容器,一类是初始化容器(Init Container),一类是应用容器(App Container),其中应用容器包含卷容器(Volume Container)。下面看看kubernetes1.3中同POD相关的各个实体信息:在PodSpec中,可以看到有两个同容器相关的变量,分别是InitContainers和Containers,其中变量InitContainers代表初始化容器,变量Containers代表应用容器,这两个容器都对应相同的容器实体,如下图所示:其中POD同容器的对应关系如下图所示,从图中可以看出来,POD同初始化容器之间的对应关系是从0到N,POD同应用容器之间的对应关系是从1到N。
  
  初始化容器是kubernetes1.3的新特性,初始化容器适用下面几个使用场景:一、如果容器中的应用使用到了一个外部服务,需要等这个外部服务可以访问之后才能启动容器中的应用。
  
  我们可以通过下面的配置文件来简单实现:在CODE上查看代码片派生到我的代码片pod:在这个例子的POD中定义了一个初始化容器,名称是wait,这个初始化容器其实就是执行dig命令,Dig是一个在linux命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。这个初始化容器写的比较简单,就是等待100秒的时间,在这100秒的时间内,如果访问dnsservice成功,那么就退出。这个例子的POD中还定义了一个应用容器,名称是run,这个应用容器等待初始化容器执行成功,然后才运行应用“application_that_depends_on_dnsservice”。
  
  这种场景适合两个POD协同工作,第一个POD负责www.zgktv.cn,第二个POD负责访问第一个POD,这两个POD中的应用容器启动有先后顺序,第二个POD中的应用容器必须要等第一个POD中的应用容器启动后才能启动。
  
  二、我们知道kubernetes中POD是具有IP的,但是POD的IP是动态生成的,所以无法提前获取POD的IP。但是存在一个使用场景,要求POD中的应用容器访问外部服务,但是这个外部服务需要提前进行客户端IP和端口注册,之后才可以正常提供服务。
  
  我们可以通过下面的配置文件来简单实现:在CODE上查看代码片派生到我的代码片pod:env:在这个例子的POD中定义了一个初始化容器,名称是register,这个初始化容器会http访问主机SERVICE_HOST的register服务,并将POD注册上。在POD注册到了主机SERVICE_HOST后,应用容器run才开始运行应用“application_that_depends_on_service”。这种场景适合动态使用POD信息。
  
  三、要求POD中的应用容器启动后等待一段时间在运行,但是不想在应用中通过sleep进行等待。
  
  我们可以通过下面的配置文件来简单实现:在CODE上查看代码片派生到我的代码片pod:在这个例子的POD中定义了一个初始化容器,名称是wait,这个初始化容器会sleep 60秒,之后应用容器run才开始运行应用“application_without_sleep”。
  
  四、POD中的容器应用容器需要实现自动从代码仓库中获取代码,并进行操作。
  
  我们可以通过下面的配置文件来简单实现:在CODE上查看代码片派生到我的代码片pod:在这个例子的POD中定义了一个初始化容器,名称是download,这个初始化容器会挂载宿主机上的存储目录"/var/lib/data",从代码仓库https://github.com/myrepo/myrepo.git克隆一份到"/var/lib/data"上。应用容器run接着会挂载宿主机上的存储目录"/var/lib/data",然后执行“exec”命令。
  
  以此类推,初始化容器可以应用到很多场景中。
  
  对于具有初始化容器的POD来说,对POD的资源配额限制按照如下规则:1、  查找初始化容器request/limit的最大值;2、  计算应用容器request/limit的汇总;3、  将应用容器request/limit的汇总值同初始化容器request/limit的最大值进行比较,按照最大值来作为POD的资源配额限制。
  
  我们来看下面具有初始化容器的POD资源配额限制的例子:www.ycyc66.cn在CODE上查看代码片派生到我的代码片pod:在这个例子中,POD中limit的资源限制是:CPU: 100m, 内存: 2200MiB。计算方法如下:1、  初始化容器limit的CPU最大值是100m,内存最大值是2GiB;2、  应用容器limit的汇总CPU是20m,内存是2200MiB;3、  将上面1和2的数值进行比较,取最大值,CPU是100m,内存是2200MiB。
  
  我们来看下面具有初始化容器的POD资源配额限制的例子:在CODE上查看代码片派生到我的代码片pod:在这个例子中,POD中reques www.gsktv.nett的资源限制是:CPU:10m,内存1100MiB;POD中limit的资源限制是:CPU:100m,内存1GiB。计算方法同上。
  
  在Kubernetes中,POD的QoS服务质量一共有三个级别,如下图所示:这三个QoS级别介绍,可以看下面表格:QoS级别QoS介绍POD中的所有容器都没有指定CPU和内存的requests和limits,那么这个POD的QoS就是BestEffort级别POD中只要有一个容器,这个容器requests和limits的设置同其他容器设置的不一致,那么这个POD的QoS就是Burstable级别POD中所有容器都必须统一设置了limits,并且设置参数都一致,如果有一个容器要设置requests,那么所有容器都要设置,并设置参数同limits一致,那么这个POD的QoS就是Guaranteed级别对于具有初始化容器的POD来说,对POD的QoS服务质量限制按照如下规则:1、  查找初始化容器的最高QoS;2、  查找应用容器的最高QoS;3、  将初始化容器的最高QoS同应用容器的最高QoS进行比较,按照高的QoS服务质量作为POD的QoS服务质量限制。
  
  我们来看下面具有初始化容器POD的QoS服务质量的例子:在CODE上查看代码片派生到我的代码片pod:在这个例子中,POD的QoS服务质量是Burstable,计算方法如下:1、  初始化容器的QoS是Burstable;2、  应用容器的QoS是Burstable;3、  将1和2的QoS服务质量进行比较,取高的QoS,因为1和2相同,所以POD的QoS服务质量是www.9u118.com/Burstable。
  
  综上所述,介绍了kubernetes1.3中POD的初始化容器相关结构体、适用场景、资源配额和QoS服务质量,在kubernetes1.3中初始化容器还是阿尔法特性,也就是还处在研发开发阶段,但是我们可以发现通过初始化容器可以解决现实生产环境中的很多问题,对初始化容器这个新特性,我还是充满了期待的。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告类型管理页面显示所有任务资讯公告类型,在此页面既可以让管理员添加新的任务资讯公告信息类型,也能对已有的任务资讯公告类型信息执行编辑更新,失效的任务资讯公告类型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值