我有一个詹金斯人,大多数工作要做一些艰巨的工作,并且需要300mb的ram top,50m cpu的内存,但是我很少进行大规模的集成测试工作,而这些工作需要14000m cpu(14vcpus)或更多,我知道有办法拥有2个节点池(一个带有4gb小实例,一个带有30vcpu大型机),如果我有2个微型服务器,我可以让它们使用NodeSelector,但是jenkins是一个微型服务器,我可以以某种方式使它生成不同的作业代理吗?不同的节点池?
您应该能够使用另一个节点池生成Jenkins代理,因为NodeSelector
是可以定义的参数之一。
基于kubernetes-plugin GitHub Repo,可以将NodeSelector
定义为要与第二个节点池匹配的任何内容。
可以在回购的sample file上找到示例:
podTemplate(yaml: '''
apiVersion: v1
kind: Pod
spec:
containers:
- name: jnlp
image: jenkins/jnlp-agent:latest-windows
nodeSelector:
beta.kubernetes.io/os: windows
'''
) {
node(POD_LABEL) {
bat 'dir'
powershell 'Get-ChildItem Env: | Sort Name'
}
}