kubernetes - kubernetes pod 重新调度并在不同命名空间部署后将在不同节点运行
问题描述
我有两个命名空间 qa 和 dev。qa 和 dev pod 可以在同一个节点上运行。当我删除开发版本/pod 时,k8 只是重新安排了不同节点中的一些 qa pod。当我启用自动缩放时也会发生类似的事情,即缩小时,k8 将重新调度相同/不同命名空间中的其他服务 pod。1) 如何防止 k8 重新调度 2) 在自动缩放的情况下如何处理?
解决方案
如果您想在特定节点上安排您的 pod,那么您可以使用节点选择器。
# To set level on node run
$ kubectl label nodes <node-name> <label-key>=<label-value>
# On pod spec set
nodeSelector:
<label-key>=<label-value>
如果您想防止重新安排,请使用Pod 中断预算并设置maxUnavailable: 0
,它永远不会删除您的 pod
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: pdb
spec:
maxUnavailable: 0
selector:
matchLabels:
app: demoapp
推荐阅读
- css - 下拉菜单中重叠的双箭头
- javascript - 如何在 Javascript 中将 Promises 与 async 和 await 一起使用
- python - Python - 在 For 循环中用一个替换多个索引
- python - 创建 OpenCV 视频小部件以在 Kivy 中使用
- amazon-web-services - AWS CodePipline (CI/CD) 用于更新现有 AWS Lambda 的代码(不是使用 CloudFormation 或 SAM 创建的)
- java - 如何让 hibernate-ogm 在 jboss eap 7.2 上工作?
- angular - Angular“解析 http://localhost:8000/excel 期间的 Http 失败”
- python - 为两个给定的百分位值拟合对数范数分布
- mongodb - 如何将所有数据从一个 Mongodb 云项目复制到另一个?
- vim - 如何在 VIM 中为自定义文件类型创建自定义配色方案