kubernetes中的静态POD

我们都知道,pod是kubelet创建的,那么创建的流程是什么呐?

此时我们需要了解k8s中config.yaml配置文件了:

他的存放路径: 【/var/lib/kubelet/config.yaml】

一、查看静态pod的路径

K8S@k8s-master \~$ sudo cat /var/lib/kubelet/config.yaml

apiVersion: kubelet.config.k8s.io/v1beta1

....

shutdownGracePeriod: 0s

shutdownGracePeriodCriticalPods: 0s
staticPodPath: /etc/kubernetes/manifests

streamingConnectionIdleTimeout: 0s

syncFrequency: 0s

volumeStatsAggPeriod: 0s

二、静态的pod查看与含义

我们发现,这里的名称都是我们的k8s集群中master节点的组件

K8S@k8s-master \~$ sudo ls -l /etc/kubernetes/manifests/

总用量 16

-rw-------. 1 root root 2246 2月 20 2023 etcd.yaml

-rw------- 1 root root 3382 5月 5 2023 kube-apiserver.yaml

-rw-------. 1 root root 2877 2月 20 2023 kube-controller-manager.yaml

-rw-------. 1 root root 1464 2月 20 2023 kube-scheduler.yaml

查看我们发现这些都是pod资源文件

K8S@k8s-master \~$ sudo cat /etc/kubernetes/manifests/etcd.yaml

apiVersion: v1

kind: Pod

metadata:

.....

K8S@k8s-master \~$ sudo cat /etc/kubernetes/manifests/kube-apiserver.yaml

apiVersion: v1

kind: Pod

metadata:

.....

K8S@k8s-master \~$ sudo cat /etc/kubernetes/manifests/kube-controller-manager.yaml

apiVersion: v1

kind: Pod

metadata:

.....

K8S@k8s-master \~$ sudo cat /etc/kubernetes/manifests/kube-scheduler.yaml

apiVersion: v1

kind: Pod

metadata:

.....

所谓的静态pod,就是kubelet自己监视的目录,如果这个目录有pod资源清单,则会在当前节点自动创建pod,

不需要手动kubectl apply -f xxx.yaml,就是我们只要把pod的资源文件移到**/etc/kubernetes/manifests/**目录下,就是自动创建

静态pod的创建,只在当前节点上创建,pod的名称会自动给你加一个当前节点名称后缀

操作案例

root@master study-demo# cat firstpod.yml

apiVersion: v1

kind: Pod

metadata:

name: first-pod

labels:

app: demo

spec:

containers:

  • name: busybox-container

image: nginx

root@master study-demo# kubectl get pod

No resources found in default namespace.

root@master study-demo# cp firstpod.yml /etc/kubernetes/manifests/ #拷贝到pod静态资源文件中

root@master study-demo# ls -l /etc/kubernetes/manifests/

总用量 20

-rw------- 1 root root 2256 3月 29 16:03 etcd.yaml
-rw-r--r-- 1 root root 143 4月 18 16:39 firstpod.yml

-rw------- 1 root root 3381 3月 29 16:03 kube-apiserver.yaml

-rw------- 1 root root 2877 3月 29 16:03 kube-controller-manager.yaml

-rw------- 1 root root 1464 3月 29 16:03 kube-scheduler.yaml

root@master study-demo# kubectl get pod #我们发现重启了

NAME READY STATUS RESTARTS AGE

first-pod-master 1/1 Running 0 22s

root@master study-demo# kubectl get pod -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

first-pod-master 1/1 Running 0 28s 10.244.0.24 master <none> <none>

相关推荐
大E帝国子民18 分钟前
Docker 部署 RocketMQ 5
docker·容器·rocketmq
进阶的猪10 分钟前
Linux 内核移植过程学习
linux·学习
江湖有缘1 小时前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器
问简2 小时前
【共享盘】ubuntu、windows
linux·windows·ubuntu
Splashtop高性能远程控制软件2 小时前
聊天工具与专业远程支持软件:企业 IT 远程支持工具选型的五个评估维度
运维·远程工作·splashtop
小生不才yz3 小时前
Shell脚本精读 · S13-01 | POSIX sh 与 Bash:语法对照表
linux
阿拉斯攀登3 小时前
平台设备驱动:platform bus 与设备树
linux·嵌入式硬件·嵌入式·linux驱动·字符设备驱动
阿拉斯攀登3 小时前
并发与同步:自旋锁、信号量、互斥锁
linux·网络·嵌入式硬件·linux驱动·字符设备驱动
网络小白不怕黑3 小时前
10.邮件服务器搭建并脚本实现监控httpd状态
linux·运维·服务器
TTBIGDATA3 小时前
【Ambari Plus】15.Livy 安装
大数据·运维·hadoop·ambari·hdp·cdh·bigtop