Kubernetes容器技术项目教程课件:编写Yaml脚本部署服务.pptx
编写YAML脚本部署服务
目录CONTENTS1编写Yaml脚本创建Deployment控制器2编写Yaml创建任务型控制器
任务1使用Yaml脚本创建Pod
3.1.1Yaml脚本概述使用命令行创建Kubernets创建相关资源后,不便于审计和修改,因为当某个运维人员使用命令创建了集群应用,过段时间,就连自己都会忘记,更不便于修改了,同时,也不能够进行复用。编写Yaml脚本方式运维的原因大小写敏感格式缩进“#”表示注释字符后使用空格Yaml脚本语法规则apiVersion(服务版本)Kind(资源类型)metadata(元数据)spec(定义)Yaml脚本常用关键字段
3.1.2编写Yaml脚本创建Pod对象在编写yaml脚本时,有一个非常好用的命令是kubectlexplain,可以使用它解释任何想定义的资源,这里要定义一个Pod资源,所以使用kubectlexpainpod来查看pod资源需要定义的字段信息.1.使用explain查看Pod资源字段1.语义解释2.语法解释3.创建pod4.修改pod5.删除pod2.编写yaml脚本定义Pod
3.1.3编写Yaml脚本创建Deployment控制器1.使用explain查看deployment资源字段通过deployment资源的描述信息,可以发现,它同样有四个比较重要的字段,分别是apiVersion、kind、metadata、spec。2.编写yaml脚本定义Deployment编写yaml脚本定义Deployment在yaml目录中,创建文件de.yaml3.创建Deployment使用kubectlapply创建deployment4.查询de1的信息发现de1控制器有3个Pod,都处于READY就绪状态了。5.查询de1控制器控制的pod[root@masteryaml]#kubectlgetpod6.修改yaml脚本进入de.yaml将replicas的副本数修改成4个,保存,重启基于yaml脚本创建控制器。
3.1.4编写Yaml脚本创建Service服务发现1.使用explain查看service资源字段3.创建service5.访问服务2.编写yaml脚本定义service4.查询mynginx服务发现的详细信息6.配置在集群外部访问服务
任务2编写Yaml创建任务型控制器
3.2.1创建Jobs任务控制器ob控制器用于调配pod对象运行一次性任务,容器中的进程在正常运行结束后不会对其进行重启,而是将pod对象置于completed状态。若容器中的进程因错误而终止,则需要依据配置确定重启与否,未运行完成的pod对象因其所在的节点故障而意外终止后会被重新调度。实践中,有的作业任务可能需要运行不止一次,用户可以配置它们以串行或并行的方式运行,这种类型的job控制器对象有以下两种1.单工作队列的串行式job即以多个一次性的作业方式串行执行多次作业,直至满足期望的次数。2.多工作队列的并行式job这种方式可以设置工作队列数,即作业数,每个队列仅负责运行一个作业。3.2.1.1Job任务控制器的使用场景
3.2.1创建Jobs任务控制器1.使用explain查看job资源字段使用kubectlexplain检查job控制器的字段2.编写Job控制器的Yaml脚本在yaml目录下创建job.yaml文件,根据job资源对象的字段信息,编写job.yaml的脚本3.执行脚本并查看执行信息(1)执行脚本(2)查看job控制器(3)查看pod状态(4)查看任务执行日志3.1.1.2编写Yaml脚本创建Job任务控制器
3.2.2创建CronJob周期任务控制器理解了Job控制器后,CronJob就很简单了,只是多了一个周期时间,即在某个固定的时间执行一个任务,CronJob的时间配置和linux中的crontab格式是一样的。1.使用explain查看cronjob资源字段2.编写cronjob控制器的Yaml脚本3.查看cronjob控制器4.查看任务执行情况5.查看任务执行情况3.2.2.1CronJob任务控制器的使用场景3.2.2.2编写Yaml脚本创建CronJob任务控制器
3.2.3创建DaemonSet守护任务控制器3.2.3.1DaemonSet守护任务控制器的使用场景有时候,需要在每个节点运行一个Pod容器,实现在新的节点加入时自动运行该Pod容器,必如收集每个工作节点的日志信息、监控每个节点。这时候,就需要构建一个DaemonSet守护任务型控制器。1.使用explain查看DaemonSet资源字段2.编写DaemonSet控制器的Yaml脚本3.2.3.2编写Yaml脚本创建Da