Apache RocketMQ中k8s里面对broker进行扩容的时候 从2个扩容到3个 旧的?

Apache RocketMQ中k8s里面对broker进行扩容的时候 从2个扩容到3个 旧的pod按道理会被删除 但是一直卡在Terminating状态 无法被删除 查看日志都是INFO的日志 没有异常 有人遇到过吗?broker有段日志如下 skip register for broker is isolated,对cpu进行扩容的时候经常会出现 不知道是不是k8s的问题

展开
收起
真的很搞笑 2023-06-06 13:54:14 223 分享 版权
3 条回答
写回答
取消 提交回答
  • 在使用 Kubernetes 扩容 Apache RocketMQ 的 Broker 时,经常会出现旧的 Pod 因为进入 Terminating 状态后无法正常删除的情况。

    这种情况一般是由于 Pod 中还有未完成的任务或者正在进行的操作导致的。

    以下是一些可能的解决办法:

    1. 查看 Pod 中是否有未完成的任务或者正在进行的操作,例如数据迁移、网络连接、文件系统操作等,如果有,等待这些操作完成后再进行删除。

    2. 尝试强制删除 Pod,可以通过在删除命令中使用 --grace-period=0 --force 参数来强制删除 Pod,例如:kubectl delete pod POD_NAME --grace-period=0 --force

    3. 升级 Kubernetes 集群以解决 Kubernetes 的 Bug,这也是一个可能的解决办法。

    对于 skip register for broker is isolated 错误,这是由于 Broker 检测到当前处于隔离状态,无法注册到 NameServer 上。这个错误一般是由于 NameServer 还没有正确配置或者启动导致的。建议检查 NameServer 的配置和运行状态,确保它们符合要求。

    2023-06-11 15:46:25
    赞同 展开评论
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    关于您提到的在 Kubernetes(k8s)环境中扩容 RocketMQ Broker 的问题,旧的 Pod 无法被删除并且处于 "Terminating" 状态的原因可能有多种情况。以下是一些可能的排查思路和解决方法:

    1. 请检查 k8s 集群是否存在资源不足的情况,比如 CPU、内存或磁盘等。如果资源不足,可能会导致 Pod 无法正常退出或删除,从而出现 "Terminating" 状态。您可以通过查看相关 k8s 日志或执行命令 "kubectl describe pod <pod_name>" 来了解 Pod 的详细信息,包括 Pod 所在节点的资源使用情况。

    2. 是否有未关闭的连接或进程占用了旧的 Broker Pod,导致 Pod 无法正常停止。您可以通过登录到旧的 Broker Pod 中查看相关进程和连接情况来进一步排查。

    3. 可能是由于某些异常情况或错误导致 Broker 在退出时没有正常执行清理操作,从而导致 Pod 处于 "Terminating" 状态。您可以通过查看 Broker 日志来了解 Pod 的状态和可能的错误信息。

    4. 如果扩容过程中进行了 Rolling Update 或者 Recreate,则可能需要等待一段时间,直到旧的 Pod 完全退出后,新的 Pod 才能被启动。具体的等待时间取决于 Pod 的退出时间、容器的停止时间和 k8s 的策略配置,您可以通过查看 Rolling Update 或者 Recreate 相关的 k8s 运维文档来了解更多信息。

    5. 如果存在多个 Pod 同时处于 "Terminating" 状态,可能是由于 k8s 的调度或编排错误导致的。您可以检查 k8s 集群的资源使用情况、Pod 调度策略、部署配置等方面,确定是否需要重新部署集群或优化配置。

    2023-06-06 16:33:32
    赞同 展开评论
  • 找到问题了 我自己设置了这个finalizers 没有置空image.png ,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-06-06 14:01:48
    赞同 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

收录在圈子:
+ 订阅
阿里云 云原生应用平台 肩负阿里巴巴集团基础设施云化以及核心技术互联网化的重要职责,致力于打造稳定、标准、先进的云原生产品,成为云原生时代的引领者,推动行业全面想云原生的技术升级,成为阿里云新增长引擎。商业化产品包括容器、云原生中间件、函数计算等。
还有其他疑问?
咨询AI助理