当前位置:网站首页>Kubernetes static pod (static POD)
Kubernetes static pod (static POD)
2022-07-08 00:35:00 【Zhang quandan, Foxconn quality inspector】
The stack etcd colony : There are... In a cluster 3 individual master, Every master There's... In it etcd This pod, This pod Usually by kubelet Self management .
kubelet Will read one config, This config Defined static pod path,kubelet Its function is to maintain pod Life cycle of , He has several ways to load pod List of , One way is to listen api server, Another way is that it will scan the local static pod path, Scan this directory , It needs to see if there is any pod detailed list , If any, load directly .
This pattern is etcd Will be in every master Deployment above , It is deployed statically .
Stackable benefits :apiserver and etcd Are tightly bound , all apiserver Your request is in loopback Send to etcd, The read operation can be read directly , The read operation does not need to go through master, The read operation does not need to be called through the network , I left here , Secondly, these components are put together for management and maintenance , Data can be read without network calls . also etcd It's a heavy plate , It's right disk io There are requirements , Other applications are not so demanding , So it is also ok Of .
What is? Static Pod
static state Pod On the specified node by kubelet Daemons manage directly , Unwanted API The server regulatory . With... Managed by the control plane Pod( for example ,Deployment) Different ;kubelet Monitor each static state Pod( Restart after it crashes ).
static state Pod Will always be bound to a specified node Kubelet.
kubelet Will try to pass Kubernetes API The server is for each static server Pod Automatically create a Mirror image Pod. This means that the static running on the node Pod Yes API Services are visible , But not through API Server to control . Pod The name will use the node host name starting with a hyphen as the suffix .
The most common Static Pod
- etcd
- kube-apiserver
- kube-controller-manager
- kube-scheduler
How to create Static Pod
Static files
By looking at kubelet Of service The file shows :
Running kubelet The configured directory will be scanned regularly ( For example, in the example /etc/kubernetes/manifests Catalog ) Changes in , And according to the document / Vanished Pod To add / Delete Pod.
Http request
kubelet Periodically from –manifest-url= Download at the address specified by the parameter ⽂ Pieces of , And translate it into Json/Yaml Format
pod Definition . Subsequent operations ⽅ Form and –pod-manifest-path= identical ,kubelet It will be downloaded again from time to time ⽂ Pieces of , When ⽂ Stop or start the static state correspondingly when the component changes pod; The process and principle are the same, so I won't introduce them in detail here .
static state Pod By kubelet There are only specific Node Upper Pod. these Pod Cannot pass API Server Conduct management , I can't go with RC、Deployment perhaps DaemonSet relation , And there is no health check , This type of Pod from kubelet Created , And only in kubelet Where Node Up operation .
Create static Pod There are two ways :
The configuration file
HTTP
One 、 The configuration file
First, set when necessary kubelet Launch parameters “--podmainifest-path”, Or in kubelet Set... In the configuration file of staticPodPath, The specified path is kubelet Monitoring path ( If k8s Clusters are composed of kubeadm build , The default is stored in the directory /etc/kubernetes/manifests Next ),kubelet The directory will be checked regularly , And according to the yaml Document and json File to create Pod operation .
for example : The configuration directory is /etc/kubelet.d, The configuration startup parameter is --podmainifest-path=/etc/kubelet.d, And then restart kubelet.
stay /etc/kubelet.d Devolution of the catalogue static_pod.yaml file , The contents are as follows :
---
apiVersion: v1
kind: Pod
metadata:
name: static-pod
labels:
name: static-pod
spec:
containers:
- name: static-pod
image: nginx
ports:
- name: web
containerPort: 80
Wait a moment , You can find that the cluster has started a pod( If it has not been started for a long time , Check the system log 、var/log/messages)
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default static-pod-host-192-168-100-121 1/1 Running 0 8s
The pod Can't use API Server Delete , If you try to delete it, it will make the pod be in pending state , And will never be deleted . If you want to delete this pod, Just store before yaml File directory , Delete the relevant yaml File can
Two 、HTTP The way
Same as through setting kubelet Start parameter of ‘--manifest-url’,kubelet It will be regular from this URL Address download Pod The definition file for , And yanl perhaps json File format for parsing , Then create pod, The implementation method is the same as that of the configuration file
边栏推荐
- Solution to the problem of unserialize3 in the advanced web area of the attack and defense world
- [programming problem] [scratch Level 2] draw ten squares in December 2019
- Codeforces Round #804 (Div. 2)(A~D)
- “一个优秀程序员可抵五个普通程序员”,差距就在这7个关键点
- 【笔记】常见组合滤波电路
- STM32F1與STM32CubeIDE編程實例-旋轉編碼器驅動
- ReentrantLock 公平锁源码 第0篇
- The method of server defense against DDoS, Hangzhou advanced anti DDoS IP section 103.219.39 x
- Is Zhou Hongyi, 52, still young?
- 【obs】Impossible to find entrance point CreateDirect3D11DeviceFromDXGIDevice
猜你喜欢
What has happened from server to cloud hosting?
Kubernetes Static Pod (静态Pod)
Coindesk comments on the decentralization process of the wave field: let people see the future of the Internet
3年经验,面试测试岗20K都拿不到了吗?这么坑?
语义分割模型库segmentation_models_pytorch的详细使用介绍
51与蓝牙模块通讯,51驱动蓝牙APP点灯
Development of a horse tourism website (optimization of servlet)
How does the markdown editor of CSDN input mathematical formulas--- Latex syntax summary
[programming problem] [scratch Level 2] 2019.09 make bat Challenge Game
第一讲:链表中环的入口结点
随机推荐
Binder核心API
C # generics and performance comparison
【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
RPA云电脑,让RPA开箱即用算力无限?
paddle入门-使用LeNet在MNIST实现图像分类方法二
Database query - what is the highest data?
Qt添加资源文件,为QAction添加图标,建立信号槽函数并实现
Sqlite数据库存储目录结构邻接表的实现2-目录树的构建
[OBS] the official configuration is use_ GPU_ Priority effect is true
How can CSDN indent the first line of a paragraph by 2 characters?
腾讯安全发布《BOT管理白皮书》|解读BOT攻击,探索防护之道
DNS series (I): why does the updated DNS record not take effect?
When creating body middleware, express Is there any difference between setting extended to true and false in urlencoded?
STM32F1与STM32CubeIDE编程实例-旋转编码器驱动
Development of a horse tourism website (optimization of servlet)
爬虫实战(八):爬表情包
[programming problem] [scratch Level 2] draw ten squares in December 2019
Reading notes 004: Wang Yangming's quotations
paddle入门-使用LeNet在MNIST实现图像分类方法一
Linkedblockingqueue source code analysis - add and delete