(K8s入门到精通) 07( 重要)资源清单方案(pod.yaml)去部署pod或者服务

如果我们想去部署一些pod,或者服务,采用资源清单的方案,最为常用

资源清单可以理解为剧本,告诉我们该怎么做,k8s拿着剧本去执行,努力达到预期

剧本写在xxpod.yaml中

名称空间 集群 元数据 三种级别,根据适用性范围进行分类

 pod : k8s中最下的组成部分 ,和pause 共享网络栈

(ReplicaSet)rs 调度器,管理我们pod 的创建,通过标签的选择去控制pod的副本数目

deployment 控制器,通过控制rs 创建,去创建pod 

statefulset: 涉及有状态服务

damonset:每个节点都运行一个pod 组件

service 简称svc

volume(存储卷): 容器持久化的能力

csi :只要资源要符合接口规范,k8s 就可以去调度

configMap: 存储配置文件,达到热更新的状态

secret: 加密了 保存密码文件 秘钥

 

 

 

也可以使用行内表示法

 

 

 

不写默认是null 

 

 

 

 必须有的字段

如果创建pod ,书写yaml 的时候,没有这些属性存在,不允许被执行的

kind 资源类型,比如pod 

command 容器启动的时候会执行一些命令,可以进行编写和修改

工作目录,我们一旦进入到容器中,就会处于这个目录下

,

        

 

 pod 里面是容器 ,kubelet 负责容器的生命周期

查看更多参数

 

 

 

 

 来来来,自己写一个yaml

 一个pod里面有多个容器,并且多个容器共享pause

 apply一下

检查yaml ,Pod  P要大写

 

多刷几下,error,因为两个容器使用的是同一个镜像,导致端口相同,  pause出错

出错了,进去看一下

 第一个是app ,第二是test

 这里有一个错误

 看一下日志,

kubectl log myapp-pod -c test,-c test 指定容器名称

 80 端口被占用了,容器无法启动

思路整理

容器报错,descrip pod ,看一下pod 里面的信息,检查每个容器的state runnning is ok,ignore,不running的 比如waiting 的,restart count 重启次数,events事件,当前pod的运行状态,    找到了是哪个容器出错了,看它的日志

 kubectl  log myapp-pod  -c 容器名称,如果pod里面只有一个容器,不需要指定-c 参数

多个容器加-c 参数


kubectl 删除pod,先去get  pod 然后delete  pod   重新创建pod

kubectl create pod   -f  .yaml 

kubectl get pod -o wide 查询详细信息

 本机直接访问:

pod创建时,同时创建pause

initC : 读取配置文件,初始化容器,,进行容器的创建,多个intC 线性执行

Main c,主容器 start stop

pod running: svc 已经把它拿到client对外的访问队列中去了,但是并不意味pod 中的容器  已经可以访问了,比如 一个容器中部署的是Tomcat,如何检测Tomcat也就绪了呢?,readness 说,我可以

readness: 就绪状态检测 给出ready/running 检测容器中的服务是否可用,如果检测到容器内部不能正常提供访问,里面的服务挂了,它挂了,它挂了,你有什么办法吗? 此时liveness出现

liveness:可以对pod中的容器进行重启,或者重建pod 删除

pod 生命周期总结

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值