- 1 | 参考
- 2 | 静态 Pod 的创建与原理
- 2.1 | 创建
- 2.1.1 | 静态文件方式
- a. 配置文件路径如何查看
- kubeadm 安装的集群
- 二进制安装的集群
- 2.1.2 | HTTP 请求方式
- 2.2 | 原理
- 2.3 | 作用
- 2.4 | 最常见的 Static Pod
-
静态Pod-csdn
-
创建静态 Pod-官方文档
-
k8s static pod(静态pod)- 博客园
-
Kubernetes之Static Pod (静态Pod)
-
kubernetes杂谈之(二)静态Pod
有两种方式:
- 静态文件方式
- HTTP 请求方式
apiVersion: v1
kind: Pod
metadata:
name: static-web
labels:
name: static-web
spec:
containers:
- name: static-web
image: nginx
ports:
- name: web
containerPort: 80
- vim static.yaml ,填写上面内容
- 放入 /etc/kubernetes/manifests( 就是正在运行的kubelet需要监控的配置文件所在的目录,kubelet会定期扫描该目录,并根据该目录下的.yaml或.json文件进行创建操作)
- 运行中的 kubelet 会定期扫描配置的目录(比如例子中的 /etc/kubernetes/manifests 目录)中的变化, 并且根据文件中出现/消失的 Pod 来添加/删除 Pod
-
查看 kubelet 所扫描的目录
-
目前例子中为 /etc/kubernetes/manifests
-
'kubeadm安装的k8s集群',配置文件路径:/var/lib/kubelet/config.yaml '二进制文件安装的k8s集群',配置文件路径: '/usr/lib/systemd/system/kubelet.service',在文件中添加一行--pod-manifest-path=
- 通过 cat /etc/systemd/system/kubelet.service 可查看到该路径信息
-
通过 cat /var/lib/kubelet/config.yaml 可查看到该路径信息
- kubelet 周期地从 –manifest-url= 参数指定的地址下载⽂件,并且把它翻译成 Json/Yaml 格式的 pod 定义
- 此后的操作⽅式与 –pod-manifest-path= 相同,kubelet 会不时地重新下载该⽂件,当⽂件变化时对应地终止或启动静态 pod
1)如果把'pod的yaml描述文件放到'这个目录中,等kubelet扫描到文件,会'自动在本机-->文件所在node的kubelet'创建出来 pod 2)如果把 pod的yaml'文件更改'了,kubelet'也会识别'到,会'自动更新'pod 3)如果把 pod的'yaml文件删除'了,kubelet会'自动删除掉pod' 4)因为静态pod '不能被 api-server 直接管理',所以它的更新删除操作不能由 kubectl 来执行,'只能直接修改或删除文本'文件 备注:但是在etcd数据库'会进行记录'2.3 | 作用
- 始终绑定在某一个kubelet上 - 不能通过API Server进行管理,无法与ReplicationController、Deployment或者DaemonSet进行关联,并且kubelet无法对它们进行健康检查。静态Pod总是由kubelet创建的,并且总在kubelet所在的Node上运行 - 由于静态Pod只受所在节点的kubelet控制,可以'有效预防通过kubectl、或管理工具操作的误删除' - 可以用来'部署核心组件'应用,保障应用服务总是'运行稳定数量'和提供'稳定服务' - '可以用来定向调度' --> '在指定的位置放置静态pod的配置文件'2.4 | 最常见的 Static Pod
- etcd
- kube-apiserver
- kube-controller-manager
- kube-scheduler



