毕业网站设计代做,百度提问登陆入口,茂名网站建设技术托管,购卡网页怎么制作1.k8s的pod重启策略
Always #xff1a;不论正常退出还是非正常退出都重启deployment的yaml文件只能是always pod的yaml三种模式都可以。
OnFailure#xff1a;只有状态码非0才会重启#xff0c;正常退出不重启
Never#xff1a;正常退出和非正常退出都不重启
容器的退…1.k8s的pod重启策略
Always 不论正常退出还是非正常退出都重启deployment的yaml文件只能是always pod的yaml三种模式都可以。
OnFailure只有状态码非0才会重启正常退出不重启
Never正常退出和非正常退出都不重启
容器的退出了pod才会重启。
一个pod可以有多个容器只要有一个容器退出pod内的所有容器都会重启
2.docker的重启策略
docker的默认策略是never
on-failure非正常退出时才会重启容器
always只要容器退出都会重启
unless-stopped只要容器退出就会重启但是docker守护进程时已经停止的容器不在重启 3.pod生命周期状态补充
CrashLoopBackOff 容器退出kubelet正在将它重启
InvalidImageName 无法解析镜像名称
ImageInspectError 无法校验镜像
ErrImageNeverPull 策略禁止拉取镜像
ImagePullBackOff 正在重试拉取
RegistryUnavailable 连接不到镜像中心
ErrImagePull 通用的拉取镜像出错
CreateContainerConfigError 不能创建kubelet使用的容器配置
CreateContainerError 创建容器失败
m.internalLifecycle.PreStartContainer 执行hook报错
RunContainerError 启动容器失败
PostStartHookError 执行hook报错
ContainersNotInitialized 容器没有初始化完毕
ContainersNotReady 容器没有准备完毕
ContainerCreating 容器创建中
PodInitializingpod 初始化中
DockerDaemonNotReady docker还没有完全启动
NetworkPluginNotReady 网络插件还没有完全启动
Evicte: pod被驱赶 4.pod内的容器使用节点资源的限制
1.request需要的资源
2.limit最高能占用系统多少资源
limit需要多少最多也只能占用这么多
两个限制cpu 内存
cpu的限制格式
1 2 0.5 0.2 0.3
1 可以占1个cpu
2 可以占2个cpu
0.5 可以占 0.5个cpu
0.2 可以占 五分之一个cpu
0.1 是最小的单位
要么是整数要么就是小数点后只能跟疑问最小单位0.1
m来表示cpu
cpu时间分片原理通过周期性的轮流分配cpu时间给各个进程多个进程可以在cpu上交替执行
在k8s中就是表示占用cpu的比率
mmillicores 单位
1个cpu1000m
2个cpu2000m
0.1个cpu100m 最小单位 内存
KiKB
MiMB
GiGB
TiTB 5.k8s怎么设置拉去镜像的策略
默认策略IfNotPresent如果本地镜像有就不在拉取本地没有才会去镜像仓库拉取
Always不论镜像是否存在创建时重启都会重新拉去镜像
Never仅仅使用本地镜像。本地没有也不会主动拉取
都是本地部署Never
如果涉及到外部部署默认策略事前要把docker的镜像导入到目标主机
always一般不用 6.pod的容器健康检查探针
探针有三种规则
1.存活探针livenessProbe 探测是否正常运行如果发现探测失败会杀掉容器容器会根据重启策略来决定是否重启不是杀掉pod
2.就绪探针探测容器是否进入ready状态并且做好接受请求的准备
探测失败READY 0/1 没有进入ready状态service会把资源对象的端点从当中删除service也不会把请求转发到这个pod
3.启动探针
只是在容器的启动后开始检测容器内的应用是否启动成功。在启动探测成功之前所有的其他探针都会处于禁用状态。但是一旦启动探针结束后续的操作不再受启动探针的影响
在一个容器当中的可以有多个探针启动探针只在容器启动时探测
7.探针的检测方法
1.exec探针在容器内部执行命令如果命令的返回码是0表示成功
适用于需要在容器内自定义命令来检查容器的健康的情况
2.httpGet
对指定ip端口的容器发送一个httpget的请求。响应状态码大于等于200小于400都是成功适用于检查容器能否响应http的请求。web容器nginxtomcat
3.tcpSocket端口对指定端口上的容器的IP地址进行tcp检查三次握手端口打开认为探测成功。检查特定容器的端口监听状态
8.探针的周期
initialDelaySeconds: 3 一般设置为10-30s
表示容器启动之后多少秒来进行探测时间不要设置的太短可能导致无效探测
periodSeconds: 2 一般设置10-60
表示探针探测的间隔时间。每隔多少秒进行一次检查应用的延迟敏感度。这个应该非常重要是核心组件
failureThreshold: 2 可以不加 默认是3
表示如果探测失败失败几次之后把容器标记为不健康
successThreshold: 1 可以不加 默认就是1
只有成功一次就标记为就绪健康ready
timeoutSeconds: 1 默认10-30 表示每次探测的超时时间在多少秒内必须完成探测
9.容器启动和退出时的动作
postStart容器启动钩子容器启动之后触发的条件
preStop容器退出钩子容器退出之后触发的条件