K8s核心资源 Pod 快速入门【叶sir】.note
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中可以有多个容器(自己定义控制器)