Kubernetes Jenkins奴隶,资源编号为奇数

问题描述 投票:0回答:1

我正在运行带有舵图的Jenkins吊舱,并且在开始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"

我的掌舵价值观是

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的代理

jenkins kubernetes kubernetes-helm
1个回答
0
投票

我已复制了您的情况,我将为您解释这是如何工作的。我正在将GKE与Kubernetes 1.15.3和HELM 2.16.1一起使用。

我已将舵图下载到我的本地计算机上,并解压缩该文件以自定义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 install jenkins/ -n jenkins

安装后,按照屏幕上的说明访问jenkins控制台。

要验证代理程序是否将从配置的资源开始,让我们使用简单的shell命令创建一个新作业。

New Item > Freestyle project

[在作业配置中,在下拉列表的“生成”部分上方选择“执行外壳”。键入任何Linux命令为idlsuname -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命令来查看作业日志。

我已经尝试使用默认值进行部署,并使用新的值来升级头盔图表...什么都没发生。当我使用--force标志运行升级时,该方法有效:helm upgrade jenkins jenkins/ --force

----通过替换策略强制更新资源

参考:https://helm.sh/docs/helm/helm_upgrade/https://github.com/helm/charts/tree/master/stable/jenkins

© www.soinside.com 2019 - 2024. All rights reserved.