论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
容器及微服务
›
容器及微服务
›
k8s~pod单副本的平滑部署
k8s~pod单副本的平滑部署
天空闲话
金牌会员
|
2024-5-17 04:56:01
|
显示全部楼层
|
阅读模式
楼主
主题
805
|
帖子
805
|
积分
2415
如果你的服务器资源告急,pod可能只能是单副本了,这时在进行平滑的滚动部署时,应该如何配置呢?总不能在部署期间503吧,这是不能接受的!
maxUnavailable来配置不可用数量
我们可以在spec.strategy.strategy.rollingUpdate中,将不可用数maxUnavailable改成0即可实现平滑部署,配置如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: keycloak-deployment
namespace: kc
spec:
replicas: 1
#滚动升级策略
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0 #当副本为1时,我们采用这个配置,即不允许有多余的pod
复制代码
如果是多个副本,你也可以通过rollingUpdate中的maxSurge来控制可用节点数,maxUnavailable来控制不可用数,如下面的配置,在副本为3个时,可用数至少为1个,不可用也是0个,相当于1个1个的副本去启动,整个deployment对外始终是3个可用的pod。
apiVersion: apps/v1
kind: Deployment
metadata:
name: keycloak-deployment
namespace: kc
spec:
replicas: 3
#滚动升级策略
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
复制代码
部署过程如图,1个副本时,在发布期间,也始终有1个是可用的
k8s如何探测pod启动了
readinessProbe 是 Kubernetes 中用来查抄容器是否预备好接收流量的机制。通过配置 readinessProbe,Kubernetes 可以确保只有在容器完全就绪并能够处理请求时才会将流量引导到该容器。以下是关于 readinessProbe 的总结:
作用
:readinessProbe 用于确定容器是否已经预备好接收流量。如果容器的 readinessProbe 失败,Kubernetes 将不会将流量路由到该容器。
配置方式
:readinessProbe 可以通过 HTTP、TCP 或执行命令的方式进行配置。你可以指定一个 HTTP 请求路径、端口号或自界说命令,并设置相应的超时时间和周期。
成功条件
:readinessProbe 根据配置的方式来判断容器的就绪状态。例如,对于 HTTP 探测,返回状态码在200-399之间表示成功;对于 TCP 探测,连接成功即为成功;对于执行命令探测,返回值为0表示成功。
失败处理
:当 readinessProbe 失败时,Kubernetes 不会将流量路由到该容器。容器可能会被标记为 Unready 状态,并从 Service 的负载平衡中剔除。
重试策略
:如果 readinessProbe 失败,Kubernetes 将按照配置的隔断时间进行重试。只有当连续多次探测失败后,容器才会被认定为不可用。
应用场景
:适用于需要一段时间来启动服务或加载数据的应用程序,以确保在容器完全就绪之前不接收流量。
常见配置
:示例配置如下,包括 HTTP 探测、TCP 探测和执行命令探测:
readinessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
复制代码
通过公道配置 readinessProbe,可以提高容器的稳定性和可靠性,确保应用程序在容器就绪后再接收流量,避免由于服务未完全启动而导致的请求失败。希望这个总结对你有所帮助。如果还有其他问题,请随时告诉我。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
天空闲话
金牌会员
这个人很懒什么都没写!
楼主热帖
css过渡样式
Mysql终端Terminal操作
C语言执行过程
编程能力提升系列:1. 二维矩阵的最大 ...
云娜:从计算、存储角度,谈网易数据治 ...
quarkus数据库篇之三:单应用同时操作 ...
MySQL数据库设计概念(多表查询&事务操 ...
【数据库】数据库课程设计一一疫苗接种 ...
Cesium 案例(一) Z-Indexing Geometr ...
如何精简 Prometheus 的指标和存储占用 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表