乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Kubernetes 02.10 pod节点调度_per_topology
2023-05-17 02:22:07
26
0
0
admin
> 将pod平均分布在不同的region/zone 中 # 设置在pod级别 ```yaml apiVersion: apps/v1 kind: Deployment metadata: labels: tag: deployment-tag name: deployment-name spec: replicas: 4 selector: matchLabels: tag: pod-tag template: # pod info metadata: labels: tag: pod-tag spec: topologySpreadConstraints: - topologyKey: kubernetes.io/hostname #同一个pod在各个topology中允许的最大最小的差值 maxSkew: 1 whenUnsatisfiable: DoNotSchedule #DoNotSchedule 不要调度,光在部署的时候分配就好了 #ScheduleAnyway 需要调度 labelSelector: #满足这个条件的pod 就是被这个策略关心的 matchLabels: tag: pod-tag matchLabelKeys: - pod-version #可以为空,如果这个label 不存在就会忽视 #这个就是防止升级会滚时瞎调度,把同一个服务的不同版本区分出来 containers: - image: centos:latest name: my-pod-container command: - /bin/sleep args: - "864000" ``` # 设置在cluster level https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/#cluster-level-default-constraints 生效条件: **pod 级别没有设置.spec.topologySpreadConstraints** **pod 属于Service, ReplicaSet, StatefulSet, ReplicationController** **这个功能默认没有开启**
上一篇:
Kubernetes 02.06 initContainer
下一篇:
Kubernetes 02.23 ConfigMap
文档导航