小米12和12s大小一样吗 小米22s专用( 二 )


静态 Pod静态 Pod 是由 kubelet 进行管理的仅存在与特定 node 上的 Pod,他们不能通过 api server 进行管理,无法与 rc,deployment,ds 进行关联,并且 kubelet 无法对他们进行健康检查 。
静态 Pod 始终绑定在某一个kubelet,并且始终运行在同一个节点上 。kubelet会自动为每一个静态 Pod 在 Kubernetes 的 apiserver 上创建一个镜像 Pod(Mirror Pod),因此我们可以在 apiserver 中查询到该 Pod,但是不能通过 apiserver 进行控制(例如不能删除) 。
为什么需要静态 Pod ?
主要是用来对集群中的组件进行容器化操作,例如 etcd kube-apiserver kube-controller-manager kube-scheduler 这些都是静态 Pod 资源 。
因为这些 Pod 不受 apiserver 的控制,就不会不小心被删掉的情况,同时 kube-apiserver 也不能自己去控制自己 。静态 Pod 的存在将集群中的容器化操作提供了可能 。
静态 Pod 的创建有两种方式,配置文件和 HTTP 两种方式,具体参见 。静态 Pod 的创建
Pod的生命周期Pod 在运行的过程中会被定义为各种状态,了解一些状态能帮助我们了解 Pod 的调度策略 。当 Pod 被创建之后,就会进入健康检查状态,当 Kubernetes 确定当前 Pod 已经能够接受外部的请求时,才会将流量打到新的 Pod 上并继续对外提供服务,在这期间如果发生了错误就可能会触发重启机制 。
不过 Pod 本身不具有自愈能力,如果 Pod 因为 Node 故障,或者是调度器本身故障,这个 Pod 就会被删除 。所以 Pod 中一般使用控制器来管理 Pod ,来实现 Pod 的自愈能力和滚动更新的能力 。
Pod的重启策略包括

  • Always 只要失败,就会重启;
  • OnFile 当容器终止运行,且退出码不是0,就会重启;
  • Never 从来不会重启 。
重启的时间,是以2n来算 。比如(10s、20s、40s、...),其最长延迟为 5 分钟 。一旦某容器执行了 10 分钟并且没有出现问题,kubelet 对该容器的重启回退计时器执行 重置操作 。
管理Pod的重启策略是靠控制器来完成的 。
Pod 的几种状态
使用的过程中,会经常遇到下面几种 Pod 的状态 。
Pending:Pod 创建已经提交给 k8s,但有一个或者多个容器尚未创建亦未运行,此阶段包括等待 Pod 被调度的时间和通过网络下载镜像的时间 。这个状态可能就是在下载镜像;
Running:Pod 已经绑定到一个节点上了,并且已经创建了所有容器 。至少有一个容器仍在运行,或者正处于启动或重启状态;
Secceeded:Pod 中的所有容器都已经成功终止,并且不会再重启;
Failed:Pod 中所有的容器均已经终止,并且至少有一个容器已经在故障中终止;
Unkown:因为某些原因无法取得 Pod 的状态 。这种情况通常是因为与 Pod 所在主机通信失败 。
当 pod 一直处于 Pending 状态,可通过 kubectl describe pods -n namespace 来获取出错的信息
Pod 如何直接暴露服务Pod 一般不直接对外暴露服务,一个 Pod 只是一个运行服务的实例,随时可能在节点上停止,然后再新的节点上用一个新的 IP 启动一个新的 Pod,因此不能使用确定的 IP 和端口号提供服务 。这对于业务来说,就不能根据 Pod 的 IP 作为业务调度 。kubernetes 就引入了 Service 的概 念,它为 Pod 提供一个入口,主要通过 Labels 标签来选择后端Pod,这时候不论后端 Pod 的 IP 地址如何变更,只要 Pod 的 Labels 标签没变,那么 业务通过 service 调度就不会存在问题 。
不过使用 hostNetwork 和 hostPort,可以直接暴露 node 的 ip 地址 。
hostNetwork这是一种直接定义 Pod 网络的方式,使用 hostNetwork 配置网络,Pod 中的所有容器就直接暴露在宿主机的网络环境中,这时候,Pod 的 PodIP 就是其所在 Node 的 IP 。从原理上来说,当设定 Pod 的网络为 Host 时,是设定了 Pod 中 pod-infrastructure(或pause)容器的网络为 Host,Pod 内部其他容器的网络指向该容器 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。