我们有一个詹金斯主从架构,并使用了Kubernetes詹金斯插件。 podTemplate如下图
podTemplate(label: 'builder-pod', cloud: 'kubernetes', containers: [
containerTemplate(
name: 'jnlp',
image: "${artifact_repo}/jenkins-slave",
ttyEnabled: true,
privileged: false,
alwaysPullImage: false,
workingDir: '/var/jenkins_home',
resourceRequestCpu: '1000m',
resourceRequestMemory: '1Gi',
resourceLimitMemory: '1.1Gi',
)
], volumes: [hostPathVolume(mountPath: '/var/run', hostPath: '/var/run')], namespace: 'jenkins') { //podtemplate
node('builder-pod') {
container('jnlp') {
无论出于何种原因,都在default
命名空间而不是jenkins
命名空间中创建builder-pod
有什么主意吗? 提前致谢。
答案 0 :(得分:0)
通过以下方式检查名称:
kubectl config get-contexts
然后在部署pod之前更改上下文名称空间
kubectl config <NAME> set-context --namespace=jenkins
答案 1 :(得分:0)
您始终可以通过在容器定义中包含名称空间来强制命名空间:
containerTemplate(
name: 'jnlp',
namespace: 'jenkins',
image: "${artifact_repo}/jenkins-slave",
ttyEnabled: true,
privileged: false,
alwaysPullImage: false,
workingDir: '/var/jenkins_home',
resourceRequestCpu: '1000m',
resourceRequestMemory: '1Gi',
resourceLimitMemory: '1.1Gi',
)
关于为什么它没有被加载到正确的命名空间中,您是否在任何地方都有默认的kubernetes插件配置设置?通用名称空间目标和单个容器模板名称空间目标都有设置。如果没有,则上述设置名称空间值的解决方案可能是唯一的方法
答案 2 :(得分:0)
您需要在Jenkins管理界面上检查Kubernetes插件配置,才能从UI中覆盖一些参数。