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--app1.yaml
topologyKey: kubernetes.io/zone
或者
topologyKey: kubernetes.io/hostname

Centos7中kubernetes-1.11.2基于配置亲和与反亲和的更多相关文章

  1. Kubernetes调度之亲和与反亲和

    系列目录 部署pod时,大多数情况下kubernetes的调度程序能将pod调度到集群中合适的节点上.但有些情况下用户需要对pod调度到哪个节点上施加更多控制,比如将特定pod部署到拥有SSD存储节点 ...

  2. centos7下kubernetes(11。kubernetes-运行一次性任务)

    容器按照持续运行的时间可以分为两类:服务类容器和工作类容器 服务类容器:持续提供服务 工作类容器:一次性任务,处理完后容器就退出 Deployment,replicaset和daemonset都用于管 ...

  3. CentOS7中firewall防火墙详解和配置,.xml服务配置详解

    修改防火墙配置文件之前,需要对之前防火墙做好备份 重启防火墙后,需要确认防火墙状态和防火墙规则是否加载,若重启失败或规则加载失败,则所有请求都会被防火墙 1. firewall-cmd --state ...

  4. 在CentOS7中安装scala-2.11.12

    从官网下载scala的相关版本 https://www.scala-lang.org/download/2.11.12.html 解压安装包 tar zxf scala-.tgz -C /usr/sc ...

  5. Centos7中 文件大小排序

    centos7中根据文件大小排序以及jenkins配置每周删除一次jobs日志信息 https://blog.csdn.net/u013066244/article/details/70232050

  6. Centos7中hadoop配置

    Centos7中hadoop配置 1.下载centos7安装教程: http://jingyan.baidu.com/article/a3aad71aa180e7b1fa009676.html (注意 ...

  7. centos7中安装、配置、验证、卸载redis

    本文介绍在centos7中安装.配置.验证.卸载redis等操作,以及在使用redis中的一些注意事项. 一 安装redis 1 创建redis的安装目录 利用以下命令,切换到/usr/local路径 ...

  8. Centos7部署Kubernetes集群(单工作节点)+配置dashboard可视化UI

    目标:docker+kubernetes+cadvosor+dashboard 一:物理硬件 两台虚拟机(centos7):一台做为主节点(master),一台做为工作节点(node) [root@M ...

  9. CentOS7中OpenVPN的配置

    最近需要在openstack中集成openvpn功能,故熟悉了一下openvpn的搭建流程,记录下来,供参考 版本:openvpn-2.3.4.tar.gz 下载地址:http://pan.baidu ...

随机推荐

  1. 实时通讯系列目录篇之SignalR详解

    一. 简单说几句 最早使用SignalR的时候大约是两年前了,记得当时是一个OA中消息的实时提醒,轮询的方式有点耗资源,WebSocket写起来又比较麻烦,最终选择了SignalR,当时是什么版本已经 ...

  2. 配置rpm包安装的jdk环境变量

    最近在搭建james邮件服务的时候,由于这个服务是用Java开发的,之前这台服务器跑过tomcat服务,故有Java环境,就没在意有无配置环境变量,但在启动james的时候报没有配置环境变量: 那么问 ...

  3. [笔记]JS flat and flatMap

    原文 flat()接收一个数组(这个数组中的某些item本身也是一个数组),返回一个新的一维数组(如果没有特别指定depth参数的话返回一维数组). const nestedArraysOhMy = ...

  4. mysql的The user specified as a definer (”@’%') does not exist 的解决办法

    两种可能: 1.用户权限不够 赋给用户所有权限试试 mysql> grant all privileges on *.* to root@"%" identified by ...

  5. Spring Cloud 2-Zuul 网关服务(六)

    Spring Cloud  Zuul  1.pom.xml 2.application.yml Application.java 1.pom.xml <!-- zuul 网关服务 --> ...

  6. 使用scrapy爬虫,爬取今日头条搜索吉林疫苗新闻(scrapy+selenium+PhantomJS)

    这一阵子吉林疫苗案,备受大家关注,索性使用爬虫来爬取今日头条搜索吉林疫苗的新闻 依然使用三件套(scrapy+selenium+PhantomJS)来爬取新闻 以下是搜索页面,得到吉林疫苗的搜索信息, ...

  7. linux编译相关命令

    一.编译可执行文件 g++ –c Hello.cpp  编译文件,生成目标文件Hello.o g++ Hello.o –o a.out  链接并重命名为可执行文件a.out g++ Hello.cc  ...

  8. php 多维数组转二维数组

    array(3) { ["money"]=> string(6) "255.00" ["id"]=> string(1) &qu ...

  9. 2141:2333(zznuoj)

    2141: 2333 时间限制: 1 Sec  内存限制: 128 MB提交: 77  解决: 17[提交] [状态] [讨论版] [命题人:admin] 题目描述 “别人总说我瓜,其实我一点也不瓜, ...

  10. LoadRunner场景设置

    创建负载测试场景场景目标:模拟10家旅行社同时登陆.搜索航班.购买机票.查看航班路线并退出打开Controller并创建一个新场景1.打开HP LoadRunner2.打开Controller在Loa ...