当前位置: 首页 > news >正文

哪个网站可以查企业信息今日热搜榜官网

哪个网站可以查企业信息,今日热搜榜官网,网站地图页面,连锁酒店网站建设污点、容忍度 污点容忍度 taints 是键值数据,用在节点上,定义污点; tolerations 是键值数据,用在pod上,定义容忍度,能容忍哪些污点。 污点 污点是定义在k8s集群的节点上的键值属性数据,可以决…

污点、容忍度

  • 污点
  • 容忍度

taints 是键值数据,用在节点上,定义污点;
tolerations 是键值数据,用在pod上,定义容忍度,能容忍哪些污点。

污点

污点是定义在k8s集群的节点上的键值属性数据,可以决定拒绝那些pod。
给了Node选则的主动权,给Node打个污点,不容忍 的Pod就调度不上来。

现象:刚部署好的K8S集群,默认master节点上不会被调度来任何pod。
原因:master节点上有个污点

看 master节点的信息

kubectl describe nodes k8s-master1

在这里插入图片描述

Taints: node-role.kubernetes.io/control-plane:NoSchedule(排斥等级)

查看帮助命令,看如何设置Node的污点(taints是spec字段下的子字段)

kubectl explain node.spec.taints

在这里插入图片描述

解释说明

taints的 effect 字段(必填) 用来定义对pod对象的排斥等级

  • NoSchedule:仅影响pod调度过程,仅对未调度的pod有影响。(例如:这个节点的污点改了,使得之前调度的pod不能容忍了,对现存的pod对象不产生影响)
  • NoExecute:既影响调度过程,又影响现存的pod对象(例如:如果现存的pod不能容忍节点后来加的污点,这个pod就会被驱逐)排斥等级最高
  • PreferNoSchedule:最好不,也可以,是NoSchedule的柔性版本。(例如:pod实在没其他节点调度了,也可以到到这个污点等级的节点上)排斥等级最低

上面看到的 master节点的污点是Noschedule
所以默认创建的pod都不会调度到master上,因为创建的pod没有容忍度

查看部署后master节点上Pod的信息

kubectl describe pods kube-apiserver-k8s-master1 -n kube-system

相关信息的片段
在这里插入图片描述

可以看到这个pod的容忍度是NoExecute,则可以调度到k8s-master1上。
兼容了等级比NoExecute低的污点。

注意:在自建pod里污点等级,必须完全匹配才行

示例1: 使用污点排斥等级是NoSchedule

给k8s-node2打上污点
污点的key为node-type,值为production,排斥等级是NoSchedule

kubectl taint node k8s-node2 node-type=production:NoSchedule

ps. 排斥等级":NoSchedule"必填,否则创建失败

在这里插入图片描述

给k8s-node2打污点后,pod如果不能容忍就不会调度过来
创建pod资源文件

vim taint-pod.yaml 
apiVersion: v1
kind: Pod
metadata:name: taint-podnamespace: defaultlabels:tomcat:  tomcat-pod
spec:containers:- name:  taint-podports:- containerPort: 8080image: tomcat:8.5-jre8-alpine
imagePullPolicy: IfNotPresent 

创建pod资源

kubectl apply -f taint-pod.yaml

查看pod

kubectl get pods -o wide

在这里插入图片描述

可以看到被调度到k8s-node1上了,因为k8s-node2这个节点打了污点,而在创建pod的时候没有容忍度,所以k8s-node2上不会有pod调度上去的

示例2 :使用污点类型是NoExecute

在示例1的基础上,给刚刚的k8s-node1打污点

kubectl taint node k8s-node1 node-type=dev:NoExecute

查看pod

kubectl get pods -o wide

在这里插入图片描述
上面可以看到已经存在的pod节点都被撵走了

只看节点的污点

kubectl describe node k8s-node1|grep Taints

在这里插入图片描述
ps. 删除污点的方式

kubectl taint nodes k8s-node2 node-type-

在这里插入图片描述

容忍度

重新给node1打上污点,保证2个工作节点node上都打了污点。通过配置Pod的容忍度完成调度

查看帮助命令,看如何设置Pod的容忍度(tolerations是spec字段下的子字段)

kubectl explain pod.spec.tolerations

重点部分截图:
在这里插入图片描述

解释说明

  • effect:用来匹配node的污点等级
  • key:node标签的键
  • operator:匹配表达式
  • value:node标签的值
  • tolerationSeconds:与NoExecute搭配使用表示驱逐时间

tolerations 中的 effect 字段 用来匹配污点等级

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

示例1 创建pod时,指定具体可容忍的node的特征

创建pod资源文件

vim vim pod-demo-1.yaml 
apiVersion: v1
kind: Pod
metadata:name: myapp-deploynamespace: default
spec:containers:- name: myappimage: ikubernetes/myapp:v1imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 80tolerations:  # 设置Pod的容忍度- key: "node-type"   # node标签的键operator: "Equal"  # 匹配方式为等值匹配value: "production" # node标签的值effect: "NoExecute" # node的污点等级tolerationSeconds: 3600 # 与NoExecute搭配使用表示驱逐时间

创建pod资源

kubectl apply -f pod-demo-1.yaml

查看pod

kubectl get pods -o wide

在这里插入图片描述

还是显示pending,因使用的是equal(等值匹配),所以 key、value和effect 必须和 node 节点定义的污点完全匹配才可以。
把上面yaml文件调整一下:
1、配置effect: “NoExecute"变成"NoSchedule”
2、去掉tolerationSeconds

apiVersion: v1
kind: Pod
metadata:name: myapp-deploynamespace: default
spec:containers:- name: myappimage: ikubernetes/myapp:v1imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 80tolerations:  - key: "node-type"   operator: "Equal"  value: "production" effect: "NoSchedule"  

重建pod资源

kubectl delete -f pod-demo-1.yamlkubectl apply -f pod-demo-1.yaml

查看pod

kubectl get pods -o wide

在这里插入图片描述

上面就可以调度到k8s-node2上了,因为在pod中定义的容忍度能容忍node节点上的污点

示例2:使用非精准容忍度匹配

再调整 pod-demo-1.yaml 的部分配置

apiVersion: v1
kind: Pod
metadata:name: myapp-deploynamespace: default
spec:containers:- name: myappimage: ikubernetes/myapp:v1imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 80tolerations:  - key: "node-type"   operator: "Exists"    # 调整了匹配方式value: ""             # 去掉了node的污点值effect: "NoSchedule"  # 匹配的等级

只要对应的键是存在的,exists,其值被自动定义成通配符

重建pod资源

kubectl delete -f pod-demo-1.yamlkubectl apply -f pod-demo-1.yaml

查看pod

kubectl get pods -o wide

在这里插入图片描述

发现还是调度到k8s-node2上

再次修改

apiVersion: v1
kind: Pod
metadata:name: myapp-deploynamespace: default
spec:containers:- name: myappimage: ikubernetes/myapp:v1imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 80tolerations:  - key: "node-type"   operator: "Exists"  # 调整了匹配方式value: ""           # 去掉了值effect: ""          # 去掉node的污点等级

有一个node-type的键,不管值是什么,不管是什么污点等级,都能容忍

重建pod资源

kubectl delete -f pod-demo-1.yamlkubectl apply -f pod-demo-1.yaml

查看pod

kubectl get pods -o wide

可以看到k8s-node2和k8s-node1节点上都有可能有pod被调度
在这里插入图片描述
在这里插入图片描述

http://www.hkea.cn/news/209422/

相关文章:

  • 做网站有必要注册商标吗河北百度seo关键词
  • 网站更换服务器教程下载app到手机上并安装
  • 学校网站建设都是谁做的网络舆情分析
  • 怎么把现有网站开发php昆明seo排名外包
  • 网站桥页怎么找理发培训专业学校
  • 谷城网站开发百度导航官网
  • 做网站不优化平面设计网站
  • 聊城做网站的公司价格谷歌seo软件
  • 支部网站及活动室建设网页广告调词平台
  • 网站建设的企业抚州seo外包
  • 澳门wap网站制作百度关键词检测工具
  • 哪些外贸网站可以做soho首页
  • 三门峡网站建设电话青岛网站推广公司
  • 洞口做网站找谁市场营销推广方案模板
  • 怎么做用来表白的网站湖人队最新消息
  • 新疆网站建设哪家好泉州网站seo外包公司
  • 网站开发前后端工具组合深圳推广公司推荐
  • 老外做的汉字网站一键生成app制作器
  • 网上设计接单的网站seo排名优化排行
  • wordpress后台加统计代码seo建站的步骤
  • 怎么做外贸网站的邮箱签名搜索引擎优化是指什么
  • 网页制作基础教程免费邯郸网站seo
  • phpcms做网站感想漯河seo推广
  • 公司部门kpi绩效考核指标模板河北百度seo软件
  • 印团网网站是哪家做的唯尚广告联盟
  • 网红营销网站seo综合查询怎么用的
  • 西安地区网站建设云推广
  • wordpress个人站2020年关键词排名
  • 网站建设企业公司石家庄新闻头条新闻最新今天
  • 道滘镇做网站百度统计