我正在运行带有 Helm chart 的Jenkins pods ,并且在开始执行jenkins作业时有奇怪的日志。与我设置的值相比,请求的资源和限制似乎处于默认状态。
helm install stable/jenkins --name jenkins -f jenkins.yaml
并且从UI创建并运行随机作业之后
Agent jenkins-agent-mql8q is provisioned from template Kubernetes Pod Template
---
apiVersion: "v1"
kind: "Pod"
metadata:
annotations: {}
labels:
jenkins/jenkins-slave: "true"
jenkins/label: "jenkins-jenkins-slavex"
name: "jenkins-agent-mql8q"
spec:
containers:
- args:
- "********"
- "jenkins-agent-mql8q"
env:
- name: "JENKINS_SECRET"
value: "********"
- name: "JENKINS_TUNNEL"
value: "jenkins-agent:50000"
- name: "JENKINS_AGENT_NAME"
value: "jenkins-agent-mql8q"
- name: "JENKINS_NAME"
value: "jenkins-agent-mql8q"
- name: "JENKINS_AGENT_WORKDIR"
value: "/home/jenkins/agent"
- name: "JENKINS_URL"
value: "http://jenkins:8080/"
image: "jenkins/jnlp-slave:3.27.1"
imagePullPolicy: "IfNotPresent"
name: "jnlp"
resources:
limits:
memory: "2Gi"
cpu: "2"
requests:
memory: "1Gi"
cpu: "1"
我的掌 Helm 值(value)观是
master:
(...)
resources:
requests:
cpu: "1"
memory: "1Gi"
limits:
cpu: "3"
memory: "3Gi"
agent:
resources:
requests:
cpu: "2"
memory: "2Gi"
limits:
cpu: "4"
memory: "3Gi"
知道为什么会生成默认值为1cpu / 1Gi到2cpu / 2Gi的代理
最佳答案
我已经转载了您的情况,我将为您解释这种情况。
我正在将GKE与Kubernetes 1.15.3和HELM 2.16.1一起使用。
我已经将 Helm chart 下载到我的本地计算机上,并解压缩了文件以自定义value.yaml:
$ helm fetch stable/jenkins
$ tar xzvf jenkins-1.9.16.tgz
在jenkins文件夹中,编辑
values.yaml
文件中的422-427行。agent:
...
requests:
cpu: "2"
memory: "2Gi"
limits:
cpu: "4"
memory: "3Gi"
...
这将配置代理容器以使用指定的资源生成。
如果需要,可以在文件中执行其他更改,在本示例中,我将使用默认值。
安装 Helm chart :
helm install jenkins/ -n jenkins
安装后,请按照屏幕上的说明访问jenkins控制台。
要验证代理是否将从配置的资源开始,让我们使用简单的shell命令创建一个新作业。
New Item > Freestyle project
在作业配置中,从下拉列表的“构建”部分上方选择“执行 shell ”。输入任何Linux命令为
id
,ls
,uname -a
等...保存并触发
Build Now
按钮。在kubernetes中验证新容器,在这种情况下,将使用
default-6w3fq
命名新的代理容器查看广告连播说明:
kubectl describe pod default-6w3fq
Name: default-6w3fq
...
IP:
Containers:
jnlp:
Image: jenkins/jnlp-slave:3.27-1
...
Limits:
cpu: 4
memory: 3Gi
Requests:
cpu: 2
memory: 2Gi
...
您可以等待作业完成,然后查看作业日志以使用
kubectl
命令。我尝试使用默认值进行部署,并使用新的值升级 Helm chart ……什么也没发生。
当我使用
--force
标志运行升级时,该方法有效:helm upgrade jenkins jenkins/ --force
参考文献:
https://helm.sh/docs/helm/helm_upgrade/
https://github.com/helm/charts/tree/master/stable/jenkins