我们目前正在尝试让我们的Jenkins在另一个Kubernetes集群(通过GKE提供)中部署代理。
我们已经在/configureClouds
下添加了新集群,并通过cloud: 'devkube'
在管道脚本中引用它
Cloud Configuration
基本Jenkinsfile:
pipeline {
agent none
stages {
stage('Start manangement container') {
agent {
kubernetes {
cloud 'devkube'
defaultContainer 'management'
yaml '''
apiVersion: v1
kind: Pod
spec:
containers:
- name: management
image: eu.gcr.io/dev/management:latest
command:
- cat
tty: true
'''
}
}
steps {
sleep 300
}
}
}
}
问题是,Jenkins没有将代理部署到该云,而是部署到我们的第一个Kubernetes集群,其默认名称为kubernetes
。
我们已经验证过,通过cloud: ...
提供的名称是针对配置的云进行检查的;失配导致立即的错误。
在/configureClouds
下执行“测试连接”报告成功,但值有限,因为它仅报告群集版本。
构建输出识别配置的云:Created Pod: devkube default/tools-01-test-pipelines-test-9-3xd3b-17c8j-6q6xj
,但无论如何,pod都将部署到kubernetes
。
我们是否遗漏了任何明显的东西,或者有一个已知的bug?
使用的版本:
- Jenkins:2.263.1
- Kubernetes插件:1.28.5
1条答案
按热度按时间x4shl7ld1#
我看了一下'Cloud Configuration'的图片,你确定'Kubernetes Namespace'应该设置为'default'吗?
我们配置的方式是'Kubernetes Namespace'必须具有实际k8s命名空间的名称(在我们的例子中,是一个OpenShift项目):