K8s核心资源 Pod 快速入门【叶sir】.note

noteId: C2F2B92EB21749D9855E56B012137564 · 原始路径:/ALL/Linux - A模块/服务配置/k8s 容器集群/K8s核心资源 Pod 快速入门【叶sir】.note · 图片:18 · 附件待处理:0

K8s核心资源 Pod 快速入门:
 
 
pod是K8s中能够管理到的最小单元
 
Pod 可以理解为一个物理服务器,它不是进程,Pod包含着容器,容器包含在Pod当中
 
不能直接管理容器,通过管理Pod间接性管理容器
 
 
分为两种Pod:
静态Pod:
无控制器管理的Pod
 
动态Pod:
有控制管理的Pod
 
K8s中所有东西都是“ 资源 ”,pod叫做Pod资源,等
 
 
vim yml
vim 【任意】.yml(后缀必须为yml)
层级关系用两个空格做缩进
image型号更改为1.20.0版本
(严格区分大小写)
apiVersion:是资源的版本信息
kind:定义资源的类型,比如Pod资源等
metadata:元数据
spec:容器的详细配置信息
- name:容器名字(需要是一个列表类型【在前面加一个横杠“ - ”】)
image:容器使用的镜像
ports:容器监听的端口(不定义则使用默认监听的端口)
- containerPort:容器的端口
静态Pod属性:
静态Pod删除不会还原
 
启用Pod:
kubectl create -f 【Pod名称】    //创建Pod
 
kubectl get pod    //查看Pod运行状态
 
 
创建动态Pod:
控制器可以控制Pod的副本数,Pod数量的扩容与缩容等,如果Pod运行时出现故障,控制器会基于指定的策略重新启动或重建Pod
 
常用的控制器:
RS Pod:能够指定创建几个Pod,后续可继续调整其数量(减少或增加)
Deploy Pod:具备 RS 的功能,且具备滚动升级和版本回退【滚动升级:不是,先升级一部分,假设有十个Pod,先升级4个为新版本,而用户能访问剩余的6个旧版本,再把剩下的6个旧版本升级为新版本,而用户能够在这时访问那4个新版本,滚动升级,不会导致业务中断】【有版本升级历史记录功能,会记录升级历史,最多记录十次记录,能够回退到任意这十次版本上】
 
HPA Pod:更加智能,对于Pod数量的扩缩容,是自动的,在访问量突增时,会自动创建新Pod,能够很好的应对突发状况,前面两个是手工调整,不能够很好的应对突发状况【根据CPU负载量去扩容Pod,当一个Pod CPU负载量达到80%,就会创建一个Pod,假设这个新创建的Pod也达到80%,还会继续往下创建,假设POd的CPU负载量达到20%,则会将该Pod取消掉】
 
启用vim粘贴模式:
:set paste
再输入 i 粘贴
 
 
RS Pod控制器:
控制器如何区分哪个Pod是自己的:
通过 Selector 标签选择器,基于标签与我负责管理的标签进行关联
 
动态Pod具有自愈能力,当Pod被删除时,会自动创建Pod,保障一定的Pod数量
调整控制器的参数
 
Pod是k8s中特有的,docker中没有,只有容器这一概念
一个Pod中可以有多个容器(自己定义控制器)