Kubernetes + Jenkins:如何将所有jenkins slave分配给一个特定节点

问题描述 投票:1回答:2

在我的集群中,我有一个节点vm1,标签为“kubernetes.io/hostname:vm-1”。我可以配置为将所有Pod从站分配给vm-1节点吗?我尝试在Jenkin>配置>云中设置“节点选择器”,但它不起作用。

谢谢,

jenkins kubernetes jenkins-plugins
2个回答
1
投票

你需要做的就是用Deployment在jenkins奴隶的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

你可以看到一些例子here

但是,我不确定kubernetes.io/hostname是否是在选择节点关联时使用的有效标签,也许您需要创建一个,例如rolededicatedtype


0
投票

使用Kubernetes插件yaml syntax并添加affinity中描述的https://kubernetes.io/docs/concepts/configuration/assign-pod-node/部分

© www.soinside.com 2019 - 2024. All rights reserved.