文档首页/ 应用服务网格 ASM/ 常见问题/ 网格管理/ 节点重启后工作负载无法启动的解决方案(ASM 1.28+)
更新时间:2026-08-04 GMT+08:00
分享

节点重启后工作负载无法启动的解决方案(ASM 1.28+)

问题现象

ASM 1.28及以上版本网格节点重启后工作负载无法启动,事件日志显示:

根因分析

默认未启用节点优雅关机机制,异常关机导致istio-cni组件配置文件未正常清理。节点优雅关机请参考Node Shutdowns

启用节点优雅关机

操作步骤:

  1. 备份原始配置文件:

    cp /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml.bak

  2. 节点上编辑kubelet配置文件:

    vim /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml

  3. 添加优雅关机配置(文件末尾追加):

    shutdownGracePeriod: 60s   #节点关机前等待Pod优雅终止的总时长
    shutdownGracePeriodCriticalPods: 57s     #关键Pod的优雅终止时长

  4. 输入:wq保存退出,并重启kubelet:

    systemctl restart kubelet

修复方案:异常节点恢复

适用场景:未启用优雅关机且已发生工作负载异常时。

操作步骤:

  1. 备份原始配置文件:

    cp /etc/cni/net.d/cni.conflist /etc/cni/net.d/cni.conflist.bak

  2. 编辑cni配置文件:

    vim /etc/cni/net.d/cni.conflist

  3. 删除plugins下name为istio-cni配置段(以典型配置为例):

    • 删除istio-cni配置段:在plugins数组中,找到name为istio-cni的配置段,并将其整个删除。该配置段通常包含多个键值对,如ambient_enabled、cni_agent_run_dir、dns等。
    • 删除前一个配置项末尾的逗号:在删除istio-cni配置段后,检查其前一个配置项的末尾,删除该逗号以确保JSON格式正确。

      例如,在以下配置中:

    需要删除从"ambient_enabled": false开始到"operator": "NotIn"结束的整个配置段,并删除前一个配置项("type": "eni-neutron")末尾的逗号。

  4. 输入:wq保存退出,并重启工作负载:

    kubectl rollout restart deployment <workload-name>

相关文档