我试图在为Jenkins使用kubernetes-plugin时使用label,但我有点困惑。在我的管道
中,我试图用不同的标签(代理)在并行
步骤中构建测试作业。
我已经在我的Jenkins配置中用pod模板和容器配置了插件,在这里我使用了与管道podtemplate
中定义的设置相同的设置。
问题是,当我在阶段2中使用代理标签
时,运行的是jnpl映像,而不是我在配置someimage:lates
中指向的映像。
我做错了什么?以下是我的Jenkinsfile
和Jenkins中kubernetes-plugin的配置:
def podTemplate = """
apiVersion: v1
kind: Pod
spec:
containers:
- name: k8s
image: someimage:latest
command:
- sleep
args:
- infinity
volumeMounts:
- name: workspace-volume
mountPath: /home/jenkins/agent
workingDir: "/home/jenkins/agent"
volumes:
- name: "workspace-volume"
persistentVolumeClaim:
claimName: "jenkins-worker-pvc"
readOnly: false
"""
pipeline {
agent none
stages {
stage("Parallel") {
parallel {
stage("1.k8s") {
agent {
kubernetes {
yaml podTemplate
defaultContainer 'k8s'
}
}
steps {
sh """
mvn -version
"""
}
}
stage("2. k8s") {
agent { label 'k8s' }
steps {
sh """
mvn -version
"""
}
}
stage("win") {
agent { label 'windows' }
steps {
bat "dir"
}
}
}
}
}
}
您没有为阶段
指定具有标签
K8s
和Windows
的图像。
你可以在文档中读到:
该插件为每个启动的代理创建一个Kubernetes Pod,由Docker映像定义以运行,并在每次构建后停止它。
podTemplate(containers: [
containerTemplate(name: 'maven', image: 'maven:3.3.9-jdk-8-alpine', ttyEnabled: true, command: 'cat'),
containerTemplate(name: 'golang', image: 'golang:1.8.0', ttyEnabled: true, command: 'cat')
]) {
node(POD_LABEL) {
stage('Get a Maven project') {
git 'https://github.com/jenkinsci/kubernetes-plugin.git'
container('maven') {
stage('Build a Maven project') {
sh 'mvn -B clean install'
}
}
}
stage('Get a Golang project') {
git url: 'https://github.com/hashicorp/terraform.git'
container('golang') {
stage('Build a Go project') {
sh """
mkdir -p /go/src/github.com/hashicorp
ln -s `pwd` /go/src/github.com/hashicorp/terraform
cd /go/src/github.com/hashicorp/terraform && make core-dev
"""
}
}
}
}
}
我正在使用Prometheus来监控我的库伯内特斯集群。我在一个单独的命名空间中设置了Prometheus。我有多个命名空间和多个pod正在运行。每个pod容器在此终端公开一个自定义指标,。我正在获取Pods CPU、内存指标等,但是如何配置Prometheus从每个可用pod中的中提取数据?我使用本教程设置了Prometheus、Link
我有以下由Dockerfile文件创建的图像: 我有以下YAML文件: 当我创建部署时,我在窗格中获得了以下信息: 并且错误: 真的有必要在docker中为此注册吗?我只想在本地进行测试,并将我的代码/存储库传递给朋友以进行测试 谢谢
Kubernetes中需要考虑三个级别的度量集合—节点、Pod和在Pod中运行的应用程序。 对于节点和应用程序指标,我有非常有效的解决方案,但我仍停留在pod指标上。 我尝试过cAdvisor和Kube状态指标,但它们都没有给我想要的东西。Kube状态指标仅提供已知的信息,例如pod CPU限制和请求。cAdvisor不会将pod标签插入容器名称,因此我无法知道哪个pod行为不端。 给定一个pod
针对k8s部署微服务,我们是一个pod对应部署一个应用,还是多个pod对应一个应用呢?还是一个pod可以对应多个应用?
本文向大家介绍ThinkPHP模板自定义标签使用方法,包括了ThinkPHP模板自定义标签使用方法的使用技巧和注意事项,需要的朋友参考一下 使用模板标签可以让网站前台开发更加快速和简单,使用过dedecms、phpcms等内容管理系统的人应该都知道,cms的前台都是使用模板标签来调用数据。以调用文章列表为例: dedecms可以写成: phpcms可以写成: ThinkPHP的自定义标签同样能够实
问题内容: 目标: 使用jQuery,我试图替换所有出现的情况: 与: 我的解决方案: 我了解到以下内容: 我的解决方案的问题: 但是问题在于它用 第一个 “ code”标签之间的内容替换了(第二,第三,第四等)“ code”标签之间的所有内容。 例如 变成 我认为我需要使用“ this”和某种功能,但恐怕我还在学习,并且不太了解如何将解决方案组合在一起。 问题答案: 您可以将一个函数传递给 [d