网站建设怎么分析市场,成都十大骗子公司,万网建设网站的步骤,网站建设属于什么工作1.维护node节点
设置节点状态为不可调度状态#xff0c;执行以下命令后#xff0c;节点状态会多出一个SchedulingDisabled的状态#xff0c;即新建的pod不会往该节点上调度#xff0c;本身存在node中的pod保持正常运行
kubectl cordon k8s-node01
kubectl get node 2.驱…1.维护node节点
设置节点状态为不可调度状态执行以下命令后节点状态会多出一个SchedulingDisabled的状态即新建的pod不会往该节点上调度本身存在node中的pod保持正常运行
kubectl cordon k8s-node01
kubectl get node 2.驱逐pod
在node节点设置为不可调度状态后就可以开始驱逐本节点上的pod了
kubectl drain k8s-node01 --ignore-daemonsets --delete-local-data
--delete-local-data在驱逐节点之前删除该节点上的 Pod 的本地数据。本地数据包括 Pod 的日志、镜像和其他本地数据。如果不添加此选项则本地数据将保留在节点上并且需要手动清理
--ignore-daemonsets忽略 DaemonSet 类型的 Pod。DaemonSet 是一种在 Kubernetes 集群的每个节点上运行一个 Pod 的控制器。如果不添加此选项则 kubectl drain 命令会尝试驱逐所有类型的 Pod包括 DaemonSet 类型的 Pod。在某些情况下DaemonSet 类型的 Pod 是必需的因此应该使用此选项来忽略它们
驱逐pod的工作流程
1.首先Kubernetes 会将 Pod 标记为“删除中”并阻止新的请求发送到该 Pod
2.然后Kubernetes 会向 Pod 发送 SIGTERM 信号触发优雅关闭。在容器中运行的进程可以捕获此信号并执行清理操作
3.如果在默认的 30 秒的优雅期内 Pod 没有关闭则 Kubernetes 会发送 SIGKILL 信号来强制终止 Pod
如果实在驱逐不掉可以加上--force 参数
--force强制驱逐节点上的所有 Pod。如果不添加此选项则 kubectl drain 命令会等待所有 Pod 关闭或重新调度到其他节点上。如果某些 Pod 无法正常关闭或重新调度则 kubectl drain 命令会一直等待直到超时。使用 --force 选项可以强制终止所有 Pod 并立即驱逐节点。需要注意的是这可能会导致数据丢失或其他不良影响因此应该谨慎使用
在node节点驱逐完所有pod后可以对该node节点升级硬件资源等操作 3.删除pod
若是在新加入工作节点只想调度一部分pod到新节点上的情况下需要使用删除pod的方法去实现
需要对所有旧的node节点都设置不可调度状态在执行删除pod操作
kubectl cordon k8s-node02
kuebctl delete pod pod名称 -n 名称空间
此时被删除的pod就会调度到新的node节点上
删除pod的工作流程
1.首先Kubernetes 会将 Pod 标记为“删除中”并阻止新的请求发送到该 Pod
2.然后Kubernetes 会向 Pod 发送 SIGTERM 信号触发优雅关闭。在容器中运行的进程可以捕获此信号并执行清理操作
3.如果在默认的 30 秒的优雅期内 Pod 没有关闭则 Kubernetes 会发送 SIGKILL 信号来强制终止 Pod
也可以在delete命令中使用如下参数修改默认的优雅关闭时间--grace-period30
调度完成后恢复旧的node节点为可调度状态
kubectl uncordon k8s-node02