Cargando…
Optimizing Provisioning of LCG Software Stacks with Kubernetes
The building, testing and deployment of coherent large software stacks is very challenging, in particular when they consist of the diverse set of packages required by the LHC*** experiments, the CERN Beams department and data analysis services such as SWAN. These software stacks comprise a large num...
Autores principales: | , , , , |
---|---|
Lenguaje: | eng |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://dx.doi.org/10.1051/epjconf/202024505030 http://cds.cern.ch/record/2752842 |
_version_ | 1780969330604769280 |
---|---|
author | Bachmann, Richard Ganis, Gerardo Konstantinov, Dmitri Razumov, Ivan Heinz, Johannes Martin |
author_facet | Bachmann, Richard Ganis, Gerardo Konstantinov, Dmitri Razumov, Ivan Heinz, Johannes Martin |
author_sort | Bachmann, Richard |
collection | CERN |
description | The building, testing and deployment of coherent large software stacks is very challenging, in particular when they consist of the diverse set of packages required by the LHC*** experiments, the CERN Beams department and data analysis services such as SWAN. These software stacks comprise a large number of packages (Monte Carlo generators, machine learning tools, Python modules, HEP**** specific software), all available for several compilers, operating systems and hardware architectures. Along with several releases per year, development builds are provided each night to allow for quick updates and testing of development versions of packages such as ROOT, Geant4, etc. It also provides the possibility to test new compilers and new configurations.Timely provisioning of these development and release stacks requires a large amount of computing resources. A dedicated infrastructure, based on the Jenkins continuous integration system, has been developed to this purpose. Resources are taken from the CERN OpenStack cloud; Puppet configurations are used to control the environment on virtual machines, which are either used directly as resource nodes or as hosts for Docker containers. Containers are used more and more to optimize the usage of our resources and ensure a consistent build environment while providing quick access to new Linux flavours and specific configurations.In order to add build resources on demand more easily, we investigated the integration of a CERN provided Kubernetes cluster into the existing infrastructure. In this contribution we present the status of this prototype, focusing on the new challenges faced, such as the integration of these ephemeral build nodes into CERN’s IT infrastructure, job priority control, and debugging of job failures. |
id | oai-inspirehep.net-1832168 |
institution | Organización Europea para la Investigación Nuclear |
language | eng |
publishDate | 2020 |
record_format | invenio |
spelling | oai-inspirehep.net-18321682021-03-01T20:16:22Zdoi:10.1051/epjconf/202024505030http://cds.cern.ch/record/2752842engBachmann, RichardGanis, GerardoKonstantinov, DmitriRazumov, IvanHeinz, Johannes MartinOptimizing Provisioning of LCG Software Stacks with KubernetesComputing and ComputersThe building, testing and deployment of coherent large software stacks is very challenging, in particular when they consist of the diverse set of packages required by the LHC*** experiments, the CERN Beams department and data analysis services such as SWAN. These software stacks comprise a large number of packages (Monte Carlo generators, machine learning tools, Python modules, HEP**** specific software), all available for several compilers, operating systems and hardware architectures. Along with several releases per year, development builds are provided each night to allow for quick updates and testing of development versions of packages such as ROOT, Geant4, etc. It also provides the possibility to test new compilers and new configurations.Timely provisioning of these development and release stacks requires a large amount of computing resources. A dedicated infrastructure, based on the Jenkins continuous integration system, has been developed to this purpose. Resources are taken from the CERN OpenStack cloud; Puppet configurations are used to control the environment on virtual machines, which are either used directly as resource nodes or as hosts for Docker containers. Containers are used more and more to optimize the usage of our resources and ensure a consistent build environment while providing quick access to new Linux flavours and specific configurations.In order to add build resources on demand more easily, we investigated the integration of a CERN provided Kubernetes cluster into the existing infrastructure. In this contribution we present the status of this prototype, focusing on the new challenges faced, such as the integration of these ephemeral build nodes into CERN’s IT infrastructure, job priority control, and debugging of job failures.oai:inspirehep.net:18321682020 |
spellingShingle | Computing and Computers Bachmann, Richard Ganis, Gerardo Konstantinov, Dmitri Razumov, Ivan Heinz, Johannes Martin Optimizing Provisioning of LCG Software Stacks with Kubernetes |
title | Optimizing Provisioning of LCG Software Stacks with Kubernetes |
title_full | Optimizing Provisioning of LCG Software Stacks with Kubernetes |
title_fullStr | Optimizing Provisioning of LCG Software Stacks with Kubernetes |
title_full_unstemmed | Optimizing Provisioning of LCG Software Stacks with Kubernetes |
title_short | Optimizing Provisioning of LCG Software Stacks with Kubernetes |
title_sort | optimizing provisioning of lcg software stacks with kubernetes |
topic | Computing and Computers |
url | https://dx.doi.org/10.1051/epjconf/202024505030 http://cds.cern.ch/record/2752842 |
work_keys_str_mv | AT bachmannrichard optimizingprovisioningoflcgsoftwarestackswithkubernetes AT ganisgerardo optimizingprovisioningoflcgsoftwarestackswithkubernetes AT konstantinovdmitri optimizingprovisioningoflcgsoftwarestackswithkubernetes AT razumovivan optimizingprovisioningoflcgsoftwarestackswithkubernetes AT heinzjohannesmartin optimizingprovisioningoflcgsoftwarestackswithkubernetes |