我正在Kubernetes系统上配置Jenkins。建造起来很好。但为了部署,我们需要调用库贝特尔或赫尔姆。当前,我正在使用
def label = "worker-${UUID.randomUUID().toString()}"
podTemplate(label: label,containers: [
containerTemplate(name: 'kubectl', image: 'lachlanevenson/k8s-kubectl:v1.8.8', command: 'cat', ttyEnabled: true)
],
volumes: [
hostPathVolume(mountPath: '/var/run/docker.sock', hostPath: '/var/run/docker.sock')
]){
node(label) {
stage('Run kubectl') {
container('kubectl') {
sh "kubectl get pods"
}
}
}
}
你能告诉我出了什么问题吗?
谢谢,
从Kubernetes V1.8开始,Kubernetes(k8s)主机默认实现对其API访问的基于角色的访问控制(RBAC)安全控制。RBAC控制将工作负载对k8s API的访问限制在您明确允许的资源和方法上。
您应该创建一个角色,允许访问pod
资源的列表
谓词(以及您需要的任何其他资源1),创建一个服务帐户对象,最后创建一个角色绑定,将角色分配给服务帐户。
最后,通过在Pod模板的ServiceAccountName
属性中提供服务帐户的名称,将服务帐户提供给Jenkins部署。确保AutomountServiceAccountToken
为true
,以便K8在您的POD中安装API密钥。尝试使用本机k8s API包装器和库访问k8s API,应该会找到这个密钥并自动验证您的请求。
1如果您计划从Jenkins进行部署,那么您肯定需要的不仅仅是列出吊舱的能力,因为您还需要在系统中变异对象。但是,如果使用Helm,则是Helm的Tiller pod影响了部署的下游k8s对象,因此Helm Tiller和Jenkins与Tiller通信所需的权限集将会有所不同。
Kubernetes plugin for Jenkins Jenkins plugin to run dynamic agents in a Kubernetes cluster. Based on the Scaling Docker with Kubernetes article,automates the scaling of Jenkins agents running in Kuber
我正在尝试在我的Jenkins管道中使用groovy-postbuild-plugin,我可以让它显示纯文本,但我不能使用它的参数。 所以这是有效的: 但是这个没有: 这是我得到的错误:
我的http://localhost:8080/上有一个jenkins,我创建了一个项目,该项目将运行kubectl命令,使用(minikube)连接到kubernetes集群 我正在尝试运行windows命令C:\Program Files(x86)\Jenkins\workspace\test2 这是Kubernetes主机正在运行的minikube群集信息https://192.168.99
Java:8 Maven:3.2.5``JMeter Maven插件:2.7.0 我也有同样的用例,试图用超文本标记语言Publisher插件在Jenkins中发布报告。 启动过程包括:[java、-Xms512M、-Xmx512M、-jar、ApacheJMeter-4.0.jar、-d、/home/jenkins/workspace/QA_自动化/性能_作业_ISL/target/jmeter
我有一群三个节点(一个经理,两个工人)。在我的swarm中,我运行一个安装了docker-swarm-plugin(https://github.com/jenkinsci/docker-swarm-plugin)的jenkins服务。我想使用插件在我的群中为每个jenkins工作创建一个构建代理容器。对于代理,我希望使用Jenkins/jnlp-slave docker映像(https://hu