|
1. 直接删除 Pod 原理:删除 Pod 后,重启种方控制器(如 Deployment、重启种方StatefulSet)会自动创建新 Pod。重启种方 复制kubectl delete pod <pod-name> -n <namespace> kubectl deploy pod nginx-f49c8d898-2jt8t -n prod1.2.3. 注意:可能导致短暂服务中断(若单副本,重启种方多副本不影响)。重启种方  2. 滚动重启原理:通过更新策略逐步替换旧 Pod,重启种方确保服务可用性。重启种方 复制kubectl rollout restart deployment/<deployment-name> -n <namespace>1. 注意:不适用于 DaemonSet(需其他方法)。重启种方 3. 调整副本数触发重建原理:通过缩容到 0 再扩容,WordPress模板重启种方强制重建 Pod。重启种方 复制kubectl scale deployment/<deployment-name> --replicas=0 -n <namespace> \ && kubectl scale deployment/<deployment-name> --replicas=2 -n <namespace>1.2. 注意:服务会中断,重启种方生产环境慎用。重启种方 4. 编辑配置并应用原理:修改 Pod 模板(如环境变量),重启种方触发更新。重启种方 复制kubectl edit deployment/<deployment-name> -n <namespace>1. 修改后保存退出,重启种方K8s 自动应用 注意:任何模板字段变更都会触发滚动重启。 5. 容器内执行重启命令原理:进入容器执行进程重启(需权限)。企商汇 命令: 复制kubectl exec <pod-name> -n <namespace> -- /bin/sh -c "kill 1"1. 注意:依赖容器内 PID 1 进程处理信号,可能不生效。 6. 五种方法对比方法 适用控制器 服务中断风险 推荐场景 直接删除 Pod 所有 高(单副本) 测试、调试 滚动重启 Deployment, StatefulSet 低 生产环境 调整副本数 所有 高 紧急情况 修改配置 支持更新的控制器 低 配置变更触发重启 容器内重启 单个 Pod 不定 调试 根据业务需求选择合适方法,生产环境优先使用滚动重启或配置更新以保证可用性。 |