https://www.jianshu.com/p/eb222d2cdd59
目录
静态pod
静态pod 是由 kubelet 管理的只在特定node上存在的pod;静态pod总是由kubelet创建的,并且只在kubelet所在的Node上运行。
静态pod 不能通过 api-server来管理,无法和 RC,RS,Deployment或者 DaemonSet进行关联;
并且 kubelet无法对静态pod 进行健康检查。
创建静态 pod 的两种方式
1、本地配置文件方式
kubelet 启动时由 --pod-manifest-path 指定的目录(默认/etc/kubernetes/manifests),kubelet会定期扫描这个目录,并根据这个目录下的 .yaml 或 .json 文件进行创建和更新操作
- 如果把 pod的yaml描述文件放到 这个目录中,等kubelet扫描到文件,会自动在本机创建出来 pod;
- 如果把 pod的yaml文件更改了,kubelet也会识别到,会自动更新 pod;
- 如果把 pod的yaml文件删除了,kubelet会自动删除掉pod;
- 因为静态pod 不能被 api-server 直接管理,所以它的更新删除操作不能由 kubectl 来执行,只能直接修改或删除文本文件。
1.1、查看本机 kubelet
kubelet 是linux原生service unit,在k8s 的每台机器上包括master都存在。
1.2、查看本机 kubelet 的service unit
1.3、举例,k8s集群中的静态pod
都在 master 机器上
- etcd
- kube-apiserver
- kube-controller-manager
- kube-scheduler
2、HTTP仓库配置文件方式
--manifest-url,kubelet定期从 url获取 文件,其余操作和 第一种方式一样。