阿里云ACK容器如何配置pod分散在集群的不同节点上

阿里云ACK容器如何配置pod分散在集群的不同节点上

1.核心原理

是使用pod间反亲和性(podAntiAffinity),pod间反亲和性又分为软约束反亲和和硬约束反亲和。

2.软约束反亲和和硬约束反亲和区别:

preferredDuringSchedulingIgnoredDuringExecution: 这是一个软约束,优先把pod调度到不同的节点,但是其他节点资源不足时,还是会都调度到同一个节点。

requiredDuringSchedulingIgnoredDuringExecution,这是一个硬约束,调度时要求pod一定处于不同节点,如果其他节点资源不足,Pod会一直处于Pending状态,不会导致pod都调度到同一节点。

3.具体写法

3.1 软约束反亲和
yaml 复制代码
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchExpressions:
                    - key: app       #工作负载的标签名
                      operator: In
                      values:
                        - my-app     #此处为工作负载的名称,即标签的值
                topologyKey: kubernetes.io/hostname
              weight: 100
3.2 硬约束反亲和
yaml 复制代码
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution: #和软约束唯一的区别
            - podAffinityTerm:
                labelSelector:
                  matchExpressions:
                    - key: app
                      operator: In
                      values:
                        - my-app
                topologyKey: kubernetes.io/hostname
              weight: 100
相关推荐
枷锁—sha2 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 045】详解:Ret2Libc 之 32位动态泄露(补充本地 Libc 手动加载指南)
服务器·网络·网络安全·系统安全
liann1192 小时前
4.3.2_WEB——WEB后端语言——PHP
开发语言·前端·网络·安全·web安全·网络安全·php
byzh_rc3 小时前
[深度学习网络从入门到入土] 含并行连结的网络GoogLeNet
网络·人工智能·深度学习
乾元3 小时前
对抗性攻击:一张贴纸如何让自动驾驶视觉系统失效?
运维·网络·人工智能·安全·机器学习·自动驾驶
全栈前端老曹4 小时前
【Redis】Pipeline 与性能优化——批量命令处理、提升吞吐量、减少网络延迟
前端·网络·数据库·redis·缓存·性能优化·全栈
MediaTea6 小时前
Python:生成器对象的扩展接口
开发语言·网络·python
正儿八经的少年7 小时前
服务网关(Service Gateway)
运维·网络
末日汐7 小时前
应用层自定义协议与序列化
运维·服务器·网络
实时数据8 小时前
渗透测试步骤 信息收集:收集目标系统的相关信息,例如域名、IP地址、开放端口和服务等
网络·安全·web安全
小同志008 小时前
网络原理 -KTTP/HTTPS(五) --认识响应“报头“(header) / “正⽂“(body)
java·网络·网络协议·http·https