黑帽联盟

 找回密码
 会员注册
查看: 74|回复: 0
打印 上一主题 下一主题

[资源教程] k8s topologyKey详述

[复制链接]

895

主题

38

听众

3323

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    6 天前
  • 签到天数: 1644 天

    [LV.Master]伴坛终老

    在Kubernetes中,topologyKey是用来指定Pod亲和性或反亲和性规则中的拓扑键。它用于定义Pod间的物理位置或资源的位置。


    拓扑键是表示系统中计算节点的可识别属性的字符串。在多节点的集群中,这些节点可能会根据其位置、硬件类型、集群分区等被分配到不同的区域(Zone)、区域内的区段(Region)或其他拓扑结构。


    例如,如果你的集群跨越多个区域,并且你想要将Pod均匀地分布到这些区域,你可以使用topologyKey来指定这个规则。


    以下是一个使用topologyKey的Pod反亲和性规则的例子:
    把生产环境下的这两个pod调度到  shanghai  区域
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx1
      namespace: prod

    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx1
      template:
        metadata:
          name: nginx1
          labels:
            app: nginx1
        spec:
          containers:
          - name: nginx1
            image: nginx
            imagePullPolicy: IfNotPresent
            ports:
            - containerPort: 80
            livenessProbe:
              httpGet:
                port: 80
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
              - labelSelector:
                  matchExpressions:
                  - key: app
                    operator: In
                    values: [nginx1]
                topologyKey: shanghai


    把灰度环境下的这两个pod调度到  beijing  区域
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx1
      namespace: gray
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx1
      template:
        metadata:
          name: nginx1
          labels:
            app: nginx1
        spec:
          containers:
          - name: nginx1
            image: nginx
            imagePullPolicy: IfNotPresent
            ports:
            - containerPort: 80
            livenessProbe:
              httpGet:
                port: 80
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
              - labelSelector:
                  matchExpressions:
                  - key: app
                    operator: In
                    values: [nginx1]
                topologyKey: beijng

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部