Kubernetes Pod中容器的性能问题

时间:2019-03-05 13:30:58

标签: docker jenkins kubernetes kubernetes-pod

我们正在尝试在kubernetes集群上设置可扩展的詹金斯,以构建和部署我们的应用。 能够在开发机器上使用kubernetes成功地扩展jenkins从站(规格:CentoOS 7,12 cpu / core,16G)。

但是,应用程序的构建时间会受到很大影响。 在CentOS主机上,在debian docker映像上构建应用程序所需的时间为1.5小时。而在从属Pod内的同一映像上构建相同的应用程序大约需要5个小时。

尝试在从属Pod上设置CPU /内存(限制,请求),并尝试在limitrange中设置多个默认值。但它对构建时间没有影响。 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

我们缺少什么?

minikube节点容量

Capacity:
 cpu:     10
 memory:  9206328Ki
 pods:    110
Allocatable:
 cpu:     10
 memory:  9103928Ki
 pods:    110

Jenkins管道代码

def label = "slave-${UUID.randomUUID().toString()}"

podTemplate(label: label, containers: [
  containerTemplate(name: 'todebian', 
                    image: 'registry.gitlab.com/todebian:v1', 
                    command: 'cat', 
                    ttyEnabled: true,
                    resourceRequestCpu: '2',
                    resourceLimitCpu: '3',
                    resourceRequestMemory: '1024Mi',
                    resourceLimitMemory: '2048Mi')
  ],
volumes: [
  hostPathVolume(mountPath: '/workspace', hostPath: '/hosthome/workspace_linux1')
]) {
  node(label) {
      container('todebian'){
        sh """
           cd /workspace
           ./make
          """
      }   
  }
  }

请帮助我进行故障排除。

1 个答案:

答案 0 :(得分:1)

您的问题可能恰好是在使用使用成熟虚拟化功能的Minikube。 我对您的建议是设置single master cluster以获得本机性能并摆脱minikube。 根据经验-使用这种方法可以大大提高性能。