
工程师在群里说「服务挂了,我重启一下」,你要判断的是这次重启的代价:几台在跑、会不会丢东西、要等多久。这篇讲清服务与进程的区别、内存里攥着的状态、就绪检查、多实例,以及按下重启之后到底发生了什么。
.service 文件定义成「关于一个被它控制和监督的进程的信息」1。Type=notify 的服务要自己发一句 READY=1,才算启动完成。replicas 起若干份,滚动更新时默认保证至少 75% 的实例还在跑 5。systemctl restart 的定义只有一句:停掉,再起来 6。
CrashLoopBackOff,意思是它一直在崩、一直在重试 7。| 你听到的 | 多半指什么 | 你接着问 |
|---|---|---|
| 服务挂了,我重启一下 | 进程没了,或者进程在、不回请求 | 是进程没了,还是进程在、不回请求? |
| 这个不能随便重启 | 内存里有还没写下去的东西 | 会丢哪一块?别处存着吗? |
| 重启要五分钟 | 起来之后还要连库、预热 | 就绪什么时候过?这期间用户看到什么? |
| 三台挂了一台,没事 | 还有别的实例在接 | 现在剩几台?扛得住吗? |
| 滚动重启 | 一台一台换,其余照常接活 | 一次换几台?出事能回滚吗? |
| 重启了还是不行 | 没过就绪,或者在崩溃重试 | 现在卡在哪一步? |
freedesktop.org
man7.org
redis.io
kubernetes.io
kubernetes.io
freedesktop.org
kubernetes.io
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.