zoukankan      html  css  js  c++  java
  • Centos7中kubernetes-1.11.2基于配置亲和与反亲和

    1、题目

    通过命令行,创建两个个deployment。

    – 需要集群中有2个节点

    – 第1个deployment名称为<hwcka-002-app1>,使用nginx镜像,用有2个pod,并配置该deployment自身的pod之间在节点级别反亲和

    2、结构图解

    2.1、亲和&节点相同label

    topologyKey配置相同kubernetes.io/zone=bar,podAffinity

    那么:node01和node02为同一整体,所以没有其他规则的话,根据平均负载算法会将其分配至两个节点上,如果目前其中一个节点空闲,那么pod可能会被分配到空闲节点上去。

    2.2、亲和&节点不同label

    topologyKey配置相同kubernetes.io/hostname,podAffinity

    那么:node01和node02为不同整体,由于亲和性规则,所以pod会根据空闲或其他算法被调度到同一节点上去。

     

    2.3、反亲和&节点相同label

    topologyKey配置相同kubernetes.io/zone=bar,podAntiAffinity

    那么:nodw01和node02为同一整体,那么一个pod被调度其中一个节点后,由于存在反亲和,那么另一个pod是不会被调度到另一个节点上去到。

     

    2.4、反亲和&节点不同label

    topologyKey配置相同kubernetes.io/hostname,podAntiAffinity

    那么:node01和node02为不同整体,由于反亲和性规则,pod会被分配到不同节点并运行。

     

    3、相关操作

    相关操作:

    # 打标签
    kubectl label nodes node01 kubernetes.io/zone=bar kubectl label nodes node02 kubernetes.io/zone=bar
    # 删除标签
    kubectl label nodes node01 kubernetes.io/zone-
    kubectl label nodes node02 kubernetes.io/zone- vim hwcka
    -002-app1.yaml topologyKey: kubernetes.io/zone 或者 topologyKey: kubernetes.io/hostname
  • 相关阅读:
    java的instanceof简单使用
    PHP中return,exit,die的区别
    C#调用Dll文件中方法的简单应用
    C#的托管和非托管的简单理解
    对象造型(引用类型转换)
    面向对象3大特性的简单理解
    css3自定义滚动条背景透明
    console.time方法与console.timeEnd方法
    IE8 input X 去掉文本框的叉叉和密码输入框的眼睛图标
    JavaSript模块规范
  • 原文地址:https://www.cnblogs.com/daynote/p/9913990.html
Copyright © 2011-2022 走看看