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

门户网站建设 交流发言长沙市

门户网站建设 交流发言,长沙市,深圳有实力的优化公司,wordpress曹鹏最近在kubernetes部署一个springcloud微服务项目#xff0c;到了最后一步部署边缘路由#xff1a;使用nginx-ingress和traefik都可以#xff0c;必须使用DaemonSet部署#xff0c;但是发现三个节点#xff0c;却总共只有两个pod。 换句话说#xff0c; DaemonSet没法调度…最近在kubernetes部署一个springcloud微服务项目到了最后一步部署边缘路由使用nginx-ingress和traefik都可以必须使用DaemonSet部署但是发现三个节点却总共只有两个pod。 换句话说 DaemonSet没法调度到master节点上。 要理解这种情况就必须理解kubernets中pod的污点和容忍度的问题 什么是污点taint和容忍度toleration “污点”是Kubernetes节点的一个属性字段名为taint它的含义说的直白点就是表明这个节点“不干净” 和“污点”相对应的就是Pod的“容忍度”顾名思义就是Pod能否“容忍”污点。 打个形象的比喻集群里的节点各式各样有的节点“纯洁无瑕”没有“污点”而有的节点因为某种原因粘上了“泥巴”也就有了“污点”。Pod也脾气各异有的“洁癖”很严重不能容忍“污点”只能挑选“干净”的节点而有的Pod则比较“大大咧咧”要求不那么高可以适当地容忍一些小“污点”。 这么看来“污点”和“容忍度”倒是有点像是一个“相亲”的过程。Pod就是一个挑剔的“甲方”而“乙方”就是集群里的各个节点Pod会根据自己对“污点”的“容忍程度”来选择合适的目标比如要求“不抽烟不喝酒”但可以“无车无房”最终决定在哪个节点上“落户”。 Kubernetes在创建集群的时候会自动给节点Node加上一些“污点”方便Pod的调度和部署。 如下面Master和Node节点的状态 [rootk8s-node2 vhost]# kubectl get nodes NAME         STATUS   ROLES    AGE      VERSION k8s-master   Ready    master   3y292d   v1.17.2 k8s-node1    Ready    none   4d5h     v1.17.2 k8s-node2    Ready    none   3y292d   v1.17.2 [rootk8s-node2 vhost]# kubectl describe node k8s-master|grep Taints Taints:             node-role.kubernetes.io/master:NoSchedule [rootk8s-node2 vhost]# kubectl describe node k8s-node1|grep Taints Taints:             none [rootk8s-node2 vhost]# kubectl describe node k8s-node2|grep Taints Taints:             none   可以看到Master节点默认有一个 taint污点名字是 node-role.kubernetes.io/master它的效果是 NoSchedule也就是说这个污点会拒绝Pod调度到本节点上运行而node节点的 taint 字段则是空的。 这正是Master和node在Pod调度策略上的区别所在通常来说Pod都不能容忍任何“污点”所以加上了 taint 属性的Master节点被认为是有污点pod默认不会调度到该节点。 这个也很好理解 由于master节点具有一定的特殊性出于安全及角色的原因一般不建议在Master节点部署应用的Pod实例 因为Master 节点主要运行集群管理组件和控制面等关键组件。 那么怎么解决这个问题让pod能调度到master节点 引入toleration允许容忍这个污点 具体来说就是在pod定义yml文件中跟container容器的同级字段加入下面的配置 tolerations: - key: node-role.kubernetes.io/master   effect: NoSchedule   operator: Exists 它的定义位置或者可以说在这里daemonSet定义的spec.template.spec下 解释一下它们的含义 key: node-role.kubernetes.io/master key表示tolerations能容忍的节点标记,这里就是指能容忍的节点类型是master节点 effect: NoSchedule effect表示taint污点标记产生的效果NoSchedule是指告诉调度器不允许调度到带有这个 taint 污点标识的节点上除非 Pod 显式容忍tolerate这个 taint operator: Exists 表示只容忍key指定类型的节点。在这个例子中Pod 只要运行在带有 node-role.kubernetes.io/master taint 的节点上就能够被容忍。 配置在yml文件中的具体情形 定义了容忍污点以后pod果然可以调度到master节点了
http://www.w-s-a.com/news/925048/

相关文章:

  • 天津网站排名提升网络营销推广策略包括哪些
  • 网站建设与管理 ppt网站打开是别人的
  • 图片网站怎么做排名怎么分析一个网站seo
  • 伪原创对网站的影响深圳装修公司排名100强
  • 网站建设公司效果个人可以做医疗信息网站吗
  • 网站使用arial字体下载微网站 建设
  • 文化馆网站建设意义营销型国外网站
  • 公司网站定位建议wordpress怎么用模板
  • 中国十大热门网站排名计算机选什么专业最好
  • 怀化建设企业网站太原网站关键词排名
  • 空间注册网站网站制作是怎么做的
  • 数码家电商城网站源码一个网站的成本
  • 网站伪静态是什么意思麻涌东莞网站建设
  • 理县网站建设公司郑州仿站定制模板建站
  • 手机网站建设网站报价诸城人才网招聘网
  • 一起做网站怎么下单临沂网站制作
  • 公司网站案例企业网站 模版
  • 做的好的响应式网站有哪些网站界面设计案例
  • 上海创意型网站建设icp备案网站信息
  • 网站没收录中山手机网站制作哪家好
  • 代驾软件开发流程wordpress 博客主题 seo
  • 成都的教育品牌网站建设网站广告js代码添加
  • 网站找人做seo然后网站搜不到了网站建设seoppt
  • 做网站优化有用吗学做文案的网站
  • wordpress 知名网站怎么做微网站
  • 用电脑怎么做原创视频网站河南建设工程信息网一体化平台官网
  • 云服务器和网站空间郑州做招商的网站
  • 规模以上工业企业的标准北京seo结算
  • 软件开发过程模型如何做网站性能优化
  • 网站建站公司广州南京江北新区楼盘