2 K8S--Pod概念

Pod概念

Pod是Kubernetes创建或部署的最小单位。一个Pod封装一个或多个容器(container)、存储资源(volume)、一个独立的网络IP以及管理控制容器运行方式的策略选项。

非官方
自助式Pod 不是被控制器管理的Pod 一旦死亡 无法拉起来也无法重新创建Pod副本

控制器管理的Pod  是被控制器管理的Pod

Pod基本概念

只要有Pod Pause就会启动

在同一个Pod的端口不能重复

共用Pause的网络栈

共享存储卷

在这里插入图片描述

Pod控制器类型

RC/RS/D

在这里插入图片描述

滚动更新

Deployment会创建RS 然后创建Pod

如果滚动更新 会新建一个RS 启动V2 第一个RS退出一个

在这里插入图片描述

在这里插入图片描述

StatefullSet

主要解决有状态服务问题(对应Depoyments和ReplicaSets是为无状态服务设计)应用场景如下

1 稳定的持久化存储。即Pod重新调度后还是能访问相同的持久化数据基于PVC
2稳定的网络标识,即Pod重新调度后PodName和HostName不变
3有序部署,即Pod是有顺序的,在部署或者扩展的时候要依据定义的顺序依次进行
4有序收缩,有序删除 是有序的反向

DaemonSet

DaemonSet确保全部或者一些(污点不被调度)Node上运行一个Pod。

当有Node加入集群时,也会为他们新增一个Pod。

当有Node从集群中移除时,这些Pod也会被回收。

删除DaemonSet将会删除他创造的所有Pod

使用DaemonSet的一些典型用法
1运行集群存储Daemon,例如在每个Node上运行gluserd,ceph
2在每个Node上运行日志收集工具
3在每个Node上运行监控daemon

Job,CronJob

Job负责批处理任务,即仅执行一次的任务,他保证批处理任务的一个或多个Pod结束

CronJob 管理基于时间的Job:

在给定的时间只执行一次
周期性的在给定的时间点运行

服务发现

同一组POD想通过同一个Service访问 要么有同一个标签 要么被同一个deploeyment创建

service收集Pod通过标签选择的

客户端通过访问service的端口和IP从而访问到Pod

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49190101/article/details/123355692