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

动态网站项目实训教程任务3怎么做网站联盟

动态网站项目实训教程任务3怎么做,网站联盟,山西省建设执业资格注册中心网站,centos7更新Wordpress一、前言 上一篇文章初步探讨了 Kubernetes 的节点亲和性,了解到它在 Pod 调度上比传统方式更灵活高效。今天我们继续讨论亲和性同时Kubernetes 的调度机制。 二、Pod亲和性 上一篇文章中我们介绍了节点亲和性,今天我们讲解一下Pod亲和性。首先我们先看…

一、前言

    上一篇文章初步探讨了 Kubernetes 的节点亲和性,了解到它在 Pod 调度上比传统方式更灵活高效。今天我们继续讨论亲和性同时Kubernetes 的调度机制。

二、Pod亲和性

     上一篇文章中我们介绍了节点亲和性,今天我们讲解一下Pod亲和性。首先我们先看下Pod亲和性的。使用命令 kubectl explain pods.spec.affinity.podAffinity

解释:

(1)Pod亲和性是Pod调度的规则,类例如将一类的Pod调度到相同的节点,和节点亲和性一样,Pod亲和性也是由一组调度规则组成。

(2)和节点亲和性类似,Pod亲和性也分为软亲和性硬亲和性

三、软亲和性详解

1、鉴于在上一篇文章中对节点软亲和性做了一些介绍,但是介绍的相对简单,所以本文打算深入的讲解一下软亲和性。

preferredDuringSchedulingIgnoredDuringExecution:软亲和性,从名字中就可以看出

preferred DuringScheduling:优先调度

IgnoredDuringExecution:运行期间忽略

所谓软亲和性是一种建议,建议调度器在调度Pod的时候遵守一定的规则去进行调度,如果没有符合条件的节点,则忽略异常。按照一定的规则(比如负载均衡等等)挑选一个节点部署。同时如果节点变更了导致不符合条件也不会将Pod驱逐。

2、继续深入这个字段,使用命令

kubectl explain pods.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述:调度器会倾向于将 Pod 调度到满足该字段所指定的亲和性表达式的节点上,但它也可能会选择一个违反了一个或多个表达式的节点。最受青睐的节点是权重总和最大的那个节点。

简单来说:我们可以定义一系列的规则并且为每个规则设定一定的权重,例如

规则权重
rule11
rule22
rule33

假设我们先2个节点 node1和node2,其中node1符合规则1和2,node2符合规则1、3且不符合规则2。如下表格

节点满足条件违反规则权重得分
node1rule1、rule23
node2rule1、rule3rule24

虽然node2节点违反了rule1,但是由权重得分最高,pod也会被调度到node2。这就是软亲和性,一句话来说软亲和性是一种优先调度策略。

调度规则

我们继续查看如何编写调度规则,使用命令kubectl explain 查看podAffinityTerm字段,命令如下

kubectl explain pods.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
FIELDS:labelSelector	<LabelSelector>.....篇幅限制,这里删除了描述,下同matchLabelKeys	<[]string>mismatchLabelKeys	<[]string>namespaceSelector	<LabelSelector>namespaces	<[]string>topologyKey	<string> -required-

(1)labelSelector:是一个标签选择器,用于筛选出满足特定标签条件的 Pod。案例:

labelSelector:matchLabels:app: web-server
##筛选出 label中包含 app=web-server 的节点

(2)matchLabelKeys:标签key的选择器,输入一直数组。案例:

matchLabelKeys:- test##筛选出包含label key 包含 test的节点

(3)mismatchLabelKeys:和matchLabelKeys刚好相反,不包含

(4)namespaceSelector:命名空间标签选择器,这里是通过命名空间包含的标签来做选择的

namespaceSelector:matchLabels:purpose: production#筛选出命名空间包含 标签 purpose=product的节点

(5)namespaces:命名空间选择器,选择包含指定命名空间的节点

namespaces:- dev- staging#筛选出包含命名空间 dev、staging的节点

(6)topologyKey(必填):是一个必需字段,它指定了节点标签的键。Kubernetes 根据这个标签键来确定节点的拓扑域,例如节点的主机名、可用区、机架等

topologyKey: kubernetes.io/hostname
权重:weight

权重就很好理解了,就是为规则设置权重(1-100),k8s匹配规则的时候会计算权重,对于软亲和性来说,权重最高的节点将会被选择。

四、硬亲和性详解

与软亲和性对应的是硬亲和性,requiredDuringSchedulingIgnoredDuringExecution

requiredDuringScheduling:调度期间必须满足

IgnoredDuringExecution:执行期间忽略

结合就是:调度期间必须满足条件,但是执行期间忽略。即当节点变更后导致不符合条件也不会把Pod驱逐

调度规则

查看描述使用命令

kubectl explain pods.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
 labelSelector	<LabelSelector>matchLabelKeys	<[]string>mismatchLabelKeys	<[]string>namespaceSelector	<LabelSelector>namespaces	<[]string>topologyKey	<string> -required-

字段和上面一样,有一点不同的就是没有权重字段,这里不再赘述。硬亲和性要求是必须满足条件,否则无法调度,pod会一直处于Pending状态。如下图

五、总结:

总的来说,Kubernetes 中的 Pod 亲和性为我们提供了极为强大的 Pod 调度控制能力。软亲和性的灵活性与硬亲和性的严格性相互补充,让我们能够根据不同的业务场景和应用需求,精准地规划 Pod 在节点上的分布。这不仅优化了资源利用效率,还增强了系统的稳定性和容错性。希望对你有所帮助

六、未完待续

http://www.dtcms.com/wzjs/253121.html

相关文章:

  • 用vs做网页是怎么创建网站的网站优化公司认准乐云seo
  • b2c电子商务网站的基本部分组成.百度搜索入口官网
  • 宝安附近公司做网站建设哪家效益快sem推广计划
  • 外贸推广网站建设sem推广
  • 移动广告公司网站建设百度推广开户多少钱
  • 阀门网站建设查排名的软件有哪些
  • 学做网站需要买什么书网站排名靠前的方法
  • 投资公司名称南宁百度seo排名优化
  • 龙岗外贸网站制作企业营销策划及推广
  • 美食网站建设策划报告分类信息网站平台有哪些
  • 做网站+广告费+步骤内容营销策略有哪些
  • 东莞做网站 南城信科产品推广方案ppt模板
  • 个人动态网站模板seo培训教程
  • 网站服务公司代买空间有无义务网络营销渠道类型有哪些
  • 网站建设的团队分工如何让百度收录自己信息
  • 金州网站建设最新域名ip地址
  • 税务网站建设 目标网络销售平台
  • 刘素云网站脱孝怎样做网站免费制作平台
  • ppt思亿欧seo靠谱吗
  • 网站开发好要租服务器吗seo优化排名百度教程
  • 哈尔滨建设工程信息网官方网站优化网站排名
  • 网站备案 法人身份证宜兴百度推广
  • 音乐网站怎么做精准关键词武汉刚刚突然宣布
  • 一个云主机可以做多少网站河南靠谱seo电话
  • 什么公司在百度做网站网络营销推广方案步骤
  • 中国住房和城乡建设部网站官网chrome下载
  • 做网站和做网页有什么区别今日西安头条最新消息
  • 国外网站布局自己如何开网站
  • 福建省政府网站建设品牌seo是什么
  • 做淘宝网站规范 百度知道友情链接互换网站