1.k8s删除pod流程
删除一个正在跑的pod进程节点,肯定不能直接kill, 需要gracfully teminate优雅停机。
当请求删除pod时,集群会记录并且跟踪优雅停机阶段直到pod可以被允许。Kubelet apiserver 接受到用户的删除指令,默认有30秒时间优雅停机。
此时 在这个timeout期限内,kubelet 会发送TERM(别名 sigterm,杀死进程)信号到容器主线程尝试去停止该容器。container runtime( 容器生命周期管理软件)负责异步地处理这些请求。并不能保证处理顺序,如果有STOPSINGAL定义了在镜像中,k8s就会发送STOPSINGAL而不是TERM.
一旦优雅停机时间结束,那么会直接发送kill signal 给到所有残留的进程,并且从api server删掉该pod.
2.k8s有哪些组件
k8s部署后,你就拥有了一个集群cluster.
一个k8s集群是由一系列实体运作的机器worker machine组成,也叫节点node。这些node就是用来跑容器化的应用的。一个集群至少有一个woker node。而除开这些工作机器,我们常常单拿出一个节点专门负责管理,也就是control plane,有时也被叫做master node.
worker nodes
主要承载了pods的运行。而pods上一般都会运行应用,所以woker nodes节点承担了应用负载application workload。
worker node的组成:
- kubelet :节点agent,节点的主要组件
- kube-proxy
- Container r