首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有奇数资源号的Kubernetes Jenkins奴隶

具有奇数资源号的Kubernetes Jenkins奴隶
EN

Stack Overflow用户
提问于 2020-01-31 06:58:02
回答 1查看 1.2K关注 0票数 2

我运行詹金斯吊舱与舵图表和有奇怪的日志时,开始詹金斯的工作。请求的资源和限制似乎处于默认状态--与我在值中设置的值相比。

代码语言:javascript
复制
helm install stable/jenkins --name jenkins -f jenkins.yaml

在从UI创建和运行随机作业之后

代码语言:javascript
复制
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"

我的掌舵价值是

代码语言:javascript
复制
master:
(...)
  resources:
    requests:
      cpu: "1"
      memory: "1Gi"
    limits:
      cpu: "3"
      memory: "3Gi"
agent:
  resources:
    requests:
      cpu: "2"
      memory: "2Gi"
    limits:
      cpu: "4"
      memory: "3Gi"

知道它为什么会产生默认的1 1cpu/1Gi到2 1cpu/2Gi的代理吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-05 13:23:56

我已经复制了你的场景,我会解释它是如何为我工作的。我使用GKE和Kubernetes 1.15.3和HELM 2.16.1。

我已将舵图下载到本地计算机,并解压缩该文件以自定义value.yaml:

代码语言:javascript
复制
$ helm fetch stable/jenkins
$ tar xzvf jenkins-1.9.16.tgz

在jenkins文件夹中,从values.yaml文件中编辑422-427行。

代码语言:javascript
复制
agent:
...
    requests:
      cpu: "2"
      memory: "2Gi"
    limits:
      cpu: "4"
      memory: "3Gi"
...

这将配置代理容器以生成具有指定资源的代理容器。

如果您愿意,可以在文件中执行其他更改,在本例中,我将使用默认值进行修改。

安装舵图:

helm install jenkins/ -n jenkins

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

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

New Item > Freestyle project

在作业配置中,在下拉列表中的"Build“部分上选择"Execute”。输入任意linux命令为idlsuname -a等.

保存并触发Build Now按钮。

在kubernetes中验证新容器,在本例中,使用default-6w3fq命名一个新代理容器

见豆荚说明:

kubectl describe pod default-6w3fq

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59999273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档