# K8S非正常关机操作指南

## 1. 操作流程
在Kubernetes中,当需要对一个Pod或者Node进行非正常关机时,需要经过以下步骤:

| 步骤 | 操作 |
|---|---|
| 1 | 找到需要关闭的Pod或Node |
| 2 | 终止Pod或Mark Node为不可调度 |
| 3 | 手动删除Pod或对Node执行evacuation操作 |
| 4 | 验证Pod或Node的状态 |

## 2. 操作步骤及代码示例

### 步骤一:找到需要关闭的Pod或Node

首先,通过命令行或者Kubernetes Dashboard找到需要关闭的Pod或Node。

### 步骤二:终止Pod或Mark Node为不可调度

终止Pod的代码示例:
```
kubectl delete pod -n
```
通过上面的命令可以删除指定名称的Pod。

Mark Node为不可调度的代码示例:
```
kubectl cordon
```
通过上面的命令可以标记指定节点为不可调度,避免在该节点上启动新的Pod。

### 步骤三:手动删除Pod或对Node执行evacuation操作

手动删除Pod的代码示例:
```
kubectl delete pod -n --force --grace-period=0
```
上面的命令会强制删除指定名称的Pod。

对Node执行evacuation操作的代码示例:
```
kubectl drain --ignore-daemonsets --delete-local-data
```
上面的命令会驱逐指定节点上的所有Pod,并删除该节点上的本地数据。

### 步骤四:验证Pod或Node的状态

最后,通过以下命令来验证Pod或Node的状态:
```
kubectl get pods -n | grep
kubectl get nodes | grep
```

以上就是在Kubernetes中进行非正常关机操作的步骤及代码示例,希望能够帮助你顺利完成相关操作。如果有任何疑问或困惑,请随时向我提问。