[TOC]
# 静态Pod
静态pod直接由某个节点上的kubelet程序进行管理,不需要api server介入,静态pod也不需要关联任何RC,完全是由kubelet程序来监控,不受`Deployment`和`DaemonSet`控制。当kubelet发现静态pod停止掉的时候,重新启动静态pod。并且始终在某一个节点上运行 kubelet 会自动为每一个静态Pod在 apiserver 上创建一个镜像 Pod(我理解的是一个副本pod,只能查看),因此可以在 apiserver 中查询到该 pod ,但不能通过 apiserver 进行控制(例如不能删除)。
## 创建静态pod
创建方式有两种:`配置文件`和`HTTP`方式
### 配置文件方式
#### 创建
在启动`kubelet`进程时,根据启动参数中定义路径,kubelet 定期扫描该目镜下的YAML文件,来创建或者删除静态Pod。
通过命令查看当前 kubelet 的配置文件所在路径

路径为:`/var/lib/kubelet/config.yaml`
找到`config.yaml`中定义静态Pod路径的部分

也可以通过`/etc/systemd/system/kubelet.service.d/10-kubeadm.conf`文件查看和定义

添加`Environment="KUBELET_ARGS=--pod-manifest-path=/etc/kubelet.d/"`

修改完成后,重启`kubelet`进程
在`/etc/kubernetes/manifests`目录下创建yaml文件
~~~
---
apiVersion: v1
kind: Pod
metadata:
name: static-pod1
labels:
app: static
spec:
containers:
- name: web
image: nginx
ports:
- name: webport
containerPort: 80
~~~
创建完成

通过`kubectl`查看,`kubectl`自动在`apiserver`中创建了一个副本pod

(`kubectl delete`是只能删除这个副本镜像pod,删除后,这个静态pod还会再自动创建一个副本)
#### 删除
要删除静态pod,只需要在`/etc/kubernetes/manifests`中删除这个静态pod的yaml文件就可以自动删除了。
### HTTP方式
通过在`/etc/systemd/system/kubelet.service.d/10-kubeadm.conf`文件中,添加`--pod-manifest-url=`参数指定的地址下载文件,下载完成后自动创建,剩下的东西就和配置文件方式一样了。
- 一、K8S的安装
- 1.1 安装环境
- 1.2 问题汇总
- 1.3 事前准备
- 1.4 安装配置负载均衡
- 1.5 安装K8S软件
- 1.6 初始化kubeadm
- 1.7 添加控制节点
- 1.8 添加计算节点
- 1.9 安装故障问题处理
- 1.10 安装管理dashboard
- 1.11 编写测试Pod
- 1.12 从外部访问集群中的Pod
- 1.13 部署metrics-server指标采集
- 二、Pod管理
- 2.1 Pod 资源需求和限制
- 2.2 Init 容器
- 2.3 Pod 健康检查(探针)和重启策略
- 2.4 Pod 生命周期(钩子Hook)
- 2.5 静态Pod
- 2.6 初始化容器(init container)
- 2.7 资源限制
- 三、资源控制器
- 3.1 Deployment
- 3.2 StatefulSet
- 3.3 DaemonSet
- 3.4 Job
- 3.5 定时任务
- 3.6 准入控制器
- 3.7 自动伸缩
- 3.8 ReplicaSet
- 四、存储
- 4.1 Secret 管理敏感信息
- 4.2 ConfigMap 存储配置
- 4.3 Volume
- 4.4 PV
- 4.5 PVC
- 4.6 StorageClass
- 4.7 暴露宿主机信息给Pod
- 五、服务Service
- 5.1 Service 资源
- 5.2 服务发现
- 5.3 服务暴露
- 5.4 Ingress 资源
- 5.5 Ingress 专题
- 5.6 traefik 2.X版本使用
- 六、认证、授权、准入控制
- 6.1 服务账户
- 6.2 LimitRange资源与准入控制器
- 6.3 ResourceQuota 资源与准入控制器
- 七、Helm
- 7.1 Helm 安装
- 八、 istio
- 8.1 istio 介绍
- 8.2 iotis 安装
- 九、calico
- 9.1 两种网络模式
- 9.2 全互联模式 与 路由反射模式
- 9.3 BGP跨网段(大型网络)
- 十、Ingress
- 10.1 安装 LoadBalancer
- 10.2 部署 ingress-nginx
- 10.3 Ingress-nginx 的使用
- 10.4 开启TCP和UDP
- 使用中的问题
- CSI Node问题
