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

带孩子做网站aso优化方案

带孩子做网站,aso优化方案,昆明做网站费用,自建个网站怎么做一、概述 在k8s当中,“亲和性”分为三种,节点亲和性、pod亲和性、pod反亲和性; 亲和性分类名称解释说明nodeAffinity节点亲和性通过【节点】标签匹配,用于控制pod调度到哪些node节点上,以及不能调度到哪些node节点上&…

一·、概述

        在k8s当中,“亲和性”分为三种,节点亲和性、pod亲和性、pod反亲和性;

亲和性分类名称解释说明
nodeAffinity节点亲和性通过【节点】标签匹配,用于控制pod调度到哪些node节点上,以及不能调度到哪些node节点上;(主角node节点)
podAffinitypod亲和性通过【节点+pod】标签匹配,可以和哪些pod部署在同一个节点上(拓扑域);(主角是pod)
podAntiAffinitypod反亲和性通过【节点+pod】标签匹配,与pod亲和性相反,就是和那些pod不在一个节点上(拓扑域);

二、nodeAffinity-节点亲和性

1,给k8s节点创建标签

[root@k8s231 ~]# kubectl label nodes k8s231 k8s=xinjizhiwa-01
node/k8s231 labeled
[root@k8s231 ~]# kubectl label nodes k8s232 k8s=xinjizhiwa-02
node/k8s232 labeled
[root@k8s231 ~]# kubectl label nodes k8s233 k8s=xinjizhiwa-03
node/k8s233 labeled

查看标签

[root@k8s231 dns]# kubectl get nodes --show-labels

2,编辑资源清单设置节点亲和性

[root@k8s231 nodeaffinity]# cat nodeaffinity.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dm-affinity
spec: 
  replicas: 20
  selector: 
    matchLabels:
      k8s: xinjizhiwa
  template:
    metadata:
      name: pod-affinity 
      labels:
        k8s: xinjizhiwa
    spec:
      #声明亲和性
      affinity:
        #声明亲和性类型
        nodeAffinity:
          #硬限制,必须满足的条件有哪些?(不满足下面的条件,亲和性就设置失败)
          requiredDuringSchedulingIgnoredDuringExecution:
            #设置节点选择器列表:
            nodeSelectorTerms:
            #声明基于节点的标签进行关联
            - matchExpressions:
              - key: k8s
                values: 
                - xinjizhiwa-03
                - xinjizhiwa-02
                #设置key和value的关系;
                #--In:key==value(必须写value)
                #--NotIn:key !=value(必须写value)
                operator: In
          #软限制,不一定满足,但会优先满足,相当于一高了调度的优先级;
          preferredDuringSchedulingIgnoredDuringExecution:
          #配置权重
          - weight: 10
            #偏向性
            preference:
              #基于节点的标签进行关联
              matchExpressions:
              #节点的标签名称
              - key: k8s
                values:
                - xinjizhiwa-03
                #关联关系,表示key和values的关系
                #In:表示包含关系(value必须写)
                #NotIn:表示不包含(value必须写)
                #Exists: 表示存在关系(不能写value)
                #DoesNotExist:不存在(不能写value)
                #Gt:大于(value必须是一个单一的元素,且值将被解释称一个整数)
                #Lt:小于(value必须是一个单一的元素,且值将被解释称一个整数)
                operator: In
      containers:
      - name: c1
        image: nginx:1.20.1-alpine
        ports:
        - containerPort: 80

3,创建资源

[root@k8s231 nodeaffinity]# kubectl apply -f nodeaffinity.yaml

4,查看pod所在节点,验证亲和性

三、podAffinity-pod的亲和性

        基于“节点标签”进行设置,第一个pod副本创建在了哪个节点上,那么其余副本也会创建在这个节点上;

        拓扑域:节点机器的标签的key和value都相等的机器,就是同一个拓扑域;

1,编辑资源清单设置pod亲和性

[root@k8s231 nodeaffinity]# cat podaffinity.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dm-affinity
spec: 
  replicas: 20
  selector: 
    matchLabels:
      k8s: xinjizhiwa
  template:
    metadata:
      name: pod-affinity 
      labels:
        k8s: xinjizhiwa
    spec:
      #声明亲和性
      affinity:
        #声明亲和性类型
        podAffinity:
          #硬限制,必须满足的条件有哪些?(不满足下面的条件,亲和性就设置失败)
          requiredDuringSchedulingIgnoredDuringExecution:
          #设置拓扑域,指定【节点的标签名】
          #【节点key】就是说,设置了拓扑域,pod就会往这个标签的节点进行创建

          #只要满足key是k8s的节点的标签,那么就是同一个拓扑域
          - topologyKey: k8s
            #【pod标签】确定pod的标签,用于二次确认,选中了拓扑域(节点标签的key),再次选中pod标签才能确认调度到哪个节点;
            labelSelector:
              matchExpressions: 

              #意思是说,只要key的值是k8s的pod创建在了哪个节点,“我”就跟随他。也创建在这个节点上;
              - key: k8s
                #如果pod标签,出现了key值相同,value值不同的情况下,就不见设置Exists存在的关系了
                #建议设置:In的方式进行匹配,当然此时Value就不能设置了;
                operator: Exists
      containers:
      - name: c1
        image: nginx:1.20.1-alpine
        ports:
        - containerPort: 80

2,创建资源

[root@k8s231 nodeaffinity]# kubectl apply -f podaffinity.yaml

3,查看pod所在节点

[root@k8s231 nodeaffinity]# kubectl get pods -o wide

四、podAntAffinity-pod的反亲和性

        pod的亲和性:符合拓扑域的范围,指定标签的pod创建在哪里,其他pod就创建在哪里;

        pod的反亲和性:与之相反,符合拓扑域的范围,指定标签的pod创建在哪里,其他pod就不能创建在哪里;

1,编辑资源清单设置pod的反亲和性

[root@k8s231 nodeaffinity]# cat podantaffinity.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dm-affinity
spec: 
  replicas: 4
  selector: 
    matchLabels:
      k8s: xinjizhiwa
  template:
    metadata:
      name: pod-affinity 
      labels:
        k8s: xinjizhiwa
    spec:
      #声明亲和性
      affinity:
        #声明亲和性类型
        podAntiAffinity:
          #硬限制,必须满足的条件有哪些?(不满足下面的条件,亲和性就设置失败)
          requiredDuringSchedulingIgnoredDuringExecution:
          #设置拓扑域,指定【节点的标签名】
          #【节点key】就是说,设置了拓扑域,pod就会往这个标签的节点进行创建
          - topologyKey: k8s
            #【pod标签】确定pod的标签,用于二次确认,选中了拓扑域(节点标签的key),再次选中pod标签才能确认调度到哪个节点;
            labelSelector:
              matchExpressions: 
              - key: k8s
                #如果pod标签,出现了key值相同,value值不同的情况下,就不见设置Exists存在的关系了
                #建议设置:In的方式进行匹配,当然此时Value就不能设置了;
                operator: Exists
      containers:
      - name: c1
        image: nginx:1.20.1-alpine
        ports:
        - containerPort: 80
 

2,创建资源

[root@k8s231 nodeaffinity]# kubectl apply -f podantaffinity.yaml

3,查看pod

结论:

1,由于第一pod创建在了k8s232中,所以第二个pod就无法再k8s232中创建;

2,第二个pod就再k8s233中创建了;

3,由于我们是4个副本,k8s231还设置了污点,无法创建pod;

4,所以,我们4个副本,最后只能创建成功2个,剩下两个pending;

至此,亲和性,学习完毕

http://www.ds6.com.cn/news/71448.html

相关文章:

  • 北京东站深圳百度百科
  • 做服装设计兼职的网站天津关键词优化网排名
  • 建一个公司网站要多少钱竞彩足球最新比赛
  • 上海市建设工程合同备案网站百度数据中心
  • 公司网站开发怎么收费手机怎么在百度上发布信息
  • 2023半夜免费b站推广成都seo技术经理
  • 佛山自定义网站建设自媒体是如何赚钱的
  • 成都电子商务网站建设公司中央刚刚宣布大消息
  • 软件外包公司能去吗有没有免费的seo网站
  • 公司网站发展规划书外链工具软件
  • 小江网站建设公司营销网络是什么意思
  • 如何做视频播放网站沧州网站建设推广
  • 深圳网站建设工作室第三波疫情将全面大爆发
  • 怎么给网站有一字做标记长沙做搜索引擎的公司
  • 个人电子简历模板seo投放是什么意思
  • 娄底网站建设百度移动seo首选帝搜软件
  • 全网营销推广联系方式成都seo排名
  • 建网站不花钱免费适合推广的app有哪些
  • 做网站能创业吗2021最近比较火的营销事件
  • 网站建设方案书备案seo优化方向
  • 网站建设在哪个软件下做今日头条荆州新闻
  • 进入江苏省住房和城乡建设厅网站谷歌浏览器 安卓下载2023版官网
  • 网站推广站点建设与策划7月新闻大事件30条
  • 百度推广费seo如何优化网站推广
  • 深南花园裙楼+网站建设seo自媒体运营技巧
  • 企业站模板网站页面优化方案
  • 只做画册的网站重庆seo
  • 重庆政府采购平台官网seo网络推广专员招聘
  • 模板网站建设公司曹操博客seo
  • 网站建设维护外包最近七天的新闻重点