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

网站和服务器是什么关系百度搜索引擎入口官网

网站和服务器是什么关系,百度搜索引擎入口官网,上海今天最新发布会,网络公司网站建设费入什么科目目录 一、概述 二、污点和污点容忍示例 2.1、NoSchedule 2.2、NoExecute 三、污点和污点容忍应用场景 四、k8s内置的一些污点 一、概述 上一篇文章介绍了节点亲和性#xff0c;它主要实现的是将Pod强制或者尽可能调度到满足某些条件的node节点上【通过在Pod上添加属性它主要实现的是将Pod强制或者尽可能调度到满足某些条件的node节点上【通过在Pod上添加属性来确定Pod是否要调度到指定的节点上】k8s中的污点它的行为刚好与节点亲和性相反污点可以将节点和 Pod 达到互斥的效果让Pod不被调度到存在污点的那些节点上【在Node节点上添加污点属性Taints来避免Pod被分配到不合适的节点上】k8s中的污点容忍则可以让 Pod 调度到带有污点的节点上。 taints污点 污点是定义在节点上的键值型属性数据用于让节点拒绝将Pod 调度运行于其上除非 Pod 有接纳节点污点的容忍度 tolerations 污点容忍 污点容忍是定义在 Pod 上的键值型属性数据用于配置可容忍的污点且调度器将 Pod 调度至其能容忍该节点污点的节点上或没有污点的节点上 在k8s中我们可以给节点添加一些污点以便在该节点上不能调度任何 Pod除非Pod明确定义了TolerationsTolerations 应用于 Pod并允许但不要求Pod 调度到具有匹配污点的节点上。 可以使用命令 kubectl taint 给节点增加一个污点。比如 kubectl taint node node_name keyvalue[effect] 示例 # 给节点 master 增加一个污点它的键名是 key1键值是 value1效果是 NoSchedule。 这表示只有拥有和这个污点相匹配的容忍度的 Pod 才能够被分配到这个节点。 kubectl taint node master key1value1:NoSchedule # 设置value值 effect可选值有三个 NoSchedule表示 Pod 将不会被调度到具有该污点的节点上注意已经正在运行中的Pod不受影响PreferNoSchedule表示 Pod 将尽量避免调度到具有该污点的节点上注意已经正在运行中的Pod不受影响NoExecute表示 Pod 将不会被调度到具有该污点的节点上同时将节点上已经存在的 Pod 进行驱逐注意已经正在运行中的Pod也会受影响因节点污点变动或Pod容忍度变动而不再满足匹配规则时Pod对象将被驱逐 可以对单个节点应用多个污点对单个 Pod 应用多个容忍度。 二、污点和污点容忍示例 2.1、NoSchedule NoSchedule表示 Pod 将不会被调度到具有该污点的节点上注意已经正在运行中的Pod不受影响。 假设当前k8s集群有两个node节点node01和controlplane。我们先给node01节点添加一个NoSchedule类型的污点。 NoSchedule表示 Pod 将不会被调度到具有该污点的节点上 #给节点添加污点 $ kubectl taint nodes node01 ab:NoSchedule node/node01 tainted#查看某个节点的污点 $ kubectl describe node node01 | grep Taints Taints: ab:NoSchedule$ kubectl describe node controlplane | grep Taints Taints: none 然后我们创建一个三个副本的nginx的Pod vim taint-demo.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx 创建三个副本的Pod $ kubectl apply -f taint-demo.yaml deployment.apps/nginx created$ kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-748c667d99-5t842 1/1 Running 0 13s 192.168.0.8 controlplane none none nginx-748c667d99-dptjw 1/1 Running 0 13s 192.168.0.6 controlplane none none nginx-748c667d99-gvt5s 1/1 Running 0 13s 192.168.0.7 controlplane none none 我们看到当前三个Pod都被调度到了controlplane这个节点因为我们给node01节点设置了一个【ab:NoSchedule】的污点并且我们的Pod也没有配置污点容忍所以Pod不能被调度到node01节点。 如果说我们希望Pod能调度到node01上我们可以给Pod添加污点容忍需要修改一下Pod的资源清单添加tolerations污点容忍的配置 apiVersion: apps/v1 kind: Deployment metadata:name: nginx spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginxtolerations: # 污点容忍- key: aoperator: Equal # operator的默认值为Equal。如果键相同且值相同则容忍匹配污点value: beffect: NoSchedule 如上配置表示Pod能够容忍节点中存在【ab:NoSchedule】这个污点说明Pod有资格被调度到存在这个污点的node上但是这并不能保证这个 Pod 一定被调度到该节点因为我们没有指定任何node affinity或者nodeSelector。修改完成后重新应用Pod 清单文件   $ vim taint-demo.yaml $ kubectl apply -f taint-demo.yaml deployment.apps/nginx configured$ kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-6bfd64d99c-4g9v9 1/1 Running 0 6s 192.168.0.9 controlplane none none nginx-6bfd64d99c-lf8qv 1/1 Running 0 12s 192.168.1.3 node01 none none nginx-6bfd64d99c-ttscz 1/1 Running 0 4s 192.168.1.4 node01 none none 我们看到当给node01添加了污点容忍后Pod也能够正常被调度到node01上了。 若要移除上述命令所添加的污点可以执行 #删除污点 kubectl taint node node名称 key:[effect]- $ kubectl taint nodes node01 ab:NoSchedule- node/node01 untainted$ kubectl describe node node01 | grep Taints Taints: none 2.2、NoExecute NoExecute表示 Pod 将不会被调度到具有该污点的节点上同时将节点上已经存在的 Pod 进行驱逐。 vim noexecute-taint-demo.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx $ kubectl apply -f noexecute-taint-demo.yaml deployment.apps/nginx created$ kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-748c667d99-2s88m 1/1 Running 0 9s 192.168.1.4 node01 none none nginx-748c667d99-lgndm 1/1 Running 0 9s 192.168.1.3 node01 none none nginx-748c667d99-tj4tc 1/1 Running 0 9s 192.168.0.6 controlplane none none$ kubectl describe node node01 | grep Taints Taints: none $ kubectl describe node controlplane | grep Taints Taints: none 可以看到Pod被分别调度到两个节点上。接下来我们给node01节点添加一个NoExecute类型的污点 $ kubectl taint nodes node01 cd:NoExecute node/node01 tainted$ kubectl describe node node01 | grep Taints Taints: cd:NoExecute 然后我们再查看Pod详情 $ kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-748c667d99-tj4tc 1/1 Running 0 2m58s 192.168.0.6 controlplane none none nginx-748c667d99-tt5db 1/1 Running 0 34s 192.168.0.7 controlplane none none nginx-748c667d99-v687w 1/1 Running 0 34s 192.168.0.8 controlplane none none 可以看到之前调度到node01的两个Pod已经被驱逐了然后重新被调度到controlplane节点上。 实际上任何不容忍NoExecute污点的Pod都将被立即驱逐而能够容忍污点的Pod 将永远不会被驱逐。但是可以指定一个可选tolerationSeconds字段该字段指示在添加污点后Pod 将保持绑定到节点的时间。例如 tolerations: - key: coperator: Equalvalue: deffect: NoExecutetolerationSeconds: 3600 # 表示当 Pod 被驱逐时还可以在节点上继续运行的时间仅可以和NoExecute配合使用 如果这个Pod 正在运行并且有一个匹配的污点被添加到该节点那么该Pod将保持绑定到该节点 3600 秒然后被驱逐。如果在该时间之前移除了污点则Pod不会被驱逐。 三、污点和污点容忍应用场景 1、专用节点当想将一组节点专用于专有工作负载或特定用户时您可以向这些节点添加一个污点然后向它们的Pod 添加相应的容忍度。2、具有特殊硬件的节点对于具有专用硬件的节点我们只希望具有这些要求的Pod 在这些节点上运行。污染将帮助我们并为使用特殊硬件的Pod 添加相应的容忍度。3、基于污点的驱逐当节点存在问题时每个Pod可配置的驱逐行为。 四、k8s内置的一些污点 Kubernetes自1.6版本起支持使用污点自动标识问题节点它通过节点控制器在特定条件下自动为节点添加污点信息实现。目前内建使用的此类污点包含如下几个。 node.kubernetes.io/not-ready节点进入NotReady状态时被自动添加的污点 node.alpha.kubernetes.io/unreachable节点进入NotReachable状态时被自动添加的污点 node.kubernetes.io/out-of-disk节点进入OutOfDisk状态时被自动添加的污点 node.kubernetes.io/memory-pressure节点内存资源面临压力node.kubernetes.io/disk-pressure节点磁盘资源面临压力 node.kubernetes.io/network-unavailable节点网络不可用 Kubernetes的核心组件通常都要容忍此类的污点以确保其相应的DaemonSet控制器能够无视此类污点便于节点上部署相应的关键性Pod对象例如kube-proxy或kube- flannel等。 我们可以通过kubectl describe pod xx查看污点容忍信息例如下面是kube-proxy的一些污点容忍配置  Tolerations: opExistsnode.kubernetes.io/disk-pressure:NoSchedule opExistsnode.kubernetes.io/memory-pressure:NoSchedule opExistsnode.kubernetes.io/network-unavailable:NoSchedule opExistsnode.kubernetes.io/not-ready:NoExecute opExistsnode.kubernetes.io/pid-pressure:NoSchedule opExistsnode.kubernetes.io/unreachable:NoExecute opExistsnode.kubernetes.io/unschedulable:NoSchedule opExists 参考污点和容忍度 | Kubernetes
http://www.pierceye.com/news/997878/

相关文章:

  • 哪个网站可以宣传做的蛋糕网站商城微信支付接口申请
  • 如何做淘客推广网站可信赖的手机网站设计
  • 西城专业网站建设公司哪家好外贸网站优化谷歌关键词排名
  • 先做网站后备案仿做网站可以整站下载器吧
  • ASP.NET实用网站开发 课后答案开发网站过程
  • 做网站需要编码吗仿站网站源码
  • 响应式网站什么意思爱南宁app下载官网最新
  • 自己做的网站怎么添加采集模块网站管理包括哪些内容
  • php做网站验证码的设计电商网站的二级怎么做
  • 广西网站建设价钱微信crm管理系统
  • 福州网站建设公司中小企业荆门市城乡建设管理局网站
  • 建设信用卡网站首页有做车身拉花的网站吗
  • 怎么做婚恋网站织梦网站推广插件
  • rtt全民互助平台网站开发自己怎样做免费网站
  • 建站模板东营建网站公司
  • 如何用vs做网站网络推广方案下拉管家微xiala11
  • 可以做彩票广告的网站吗做网站的应用
  • 龙岗网站 建设深圳信科湘潭做网站价格品牌磐石网络
  • 湖北网站排名优化安卓项目开发
  • 网站怎么引入微信支付郑州官方通报
  • 在南宁做家教兼职的网站北京通州做网站
  • 深圳网站的建设维护公司秦皇岛市建设局官网
  • 做网站 插件静态网站开发课程相关新闻
  • 网站建站 公司无锡搜索引擎营销的内容
  • 公司网站建设小知识单页网站是什么样子的
  • 大学网站建设排名深圳网站建设公司报价
  • 贵阳网站制作公司茶叶推广方案
  • 自适应 网站开发wordpress域名邮箱设置
  • 深圳网站设计网站制作非织梦做的网站能仿吗
  • 做网站可以使用免费空间吗沧州百姓网免费发布信息网