jenkins - Kubernetes + Jenkins:如何将所有 jenkins 从属分配给一个特定节点
问题描述
在我的集群中,我有一个节点 vm1,标签为“kubernetes.io/hostname: vm-1”。我可以配置将所有 Pod 从站分配给 vm-1 节点吗?我尝试在 Jenkins > 配置 > 云中设置“节点选择器”,但它不起作用。
谢谢,
解决方案
你需要做的就是在Deployment
你的詹金斯奴隶的中指定这个nodeAffinity
,就像这样:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins-slave
namespace: ci
labels:
app: jenkins
role: slave
spec:
selector:
matchLabels:
app: jenkins
role: slave
template:
metadata:
labels:
app: jenkins
role: slave
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- vm-1
你可以在这里看到一些例子
但是,我不确定kubernetes.io/hostname
在选择节点亲和性时是否要使用有效标签,也许您需要创建一个,role
例如dedicated
或type
。
推荐阅读
- python - 在 pygame 模块中,按右键时,仅加载列表中的第一个精灵
- python - 如何将模型对象作为初始值传递给表单
- laravel - Laravel - 测试 - assertJsonMissingExact
- javascript - es6 类中需要构造方法吗
- mysql - MYSQL 用列值更新列
- firebase-realtime-database - 如何从 firebase 数据库中获取特定值?
- mysql - MySQL CASE - 如何处理单个 CASE 语句的多个结果
- python - Python ValueError 和 IndexError
- javascript - 关闭 chrome.runtime.openOptionsPage 的等效命令是什么?
- javascript - dispatchEvent 上的 Chrome 内存泄漏