Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes no CERN

Kubernetes no CERN

Efee9430e5ca7dec19b1436c5782b477?s=128

Ricardo Rocha

August 28, 2020
Tweet

Transcript

  1. Kubernetes no CERN Ricardo Rocha CERN Cloud Team @ahcorporto ricardo.rocha@cern.ch

  2. Ricardo Rocha Engenheiro de Computação no CERN Containers, Kubernetes e

    Networking GPUs e outros aceleradores, Machine Learning Passado: Armazenamento de dados, grelha de computação do LHC
  3. Fundado em 1954 De que é feita 96% da matéria

    do universo? Ciência Fundamental Porque não vemos anti-matéria no universo? Qual era o estado da matéria logo após o Big Bang?
  4. None
  5. None
  6. None
  7. None
  8. None
  9. 9

  10. None
  11. 11

  12. None
  13. None
  14. ~70 PB/year 700 000 Cores ~400 000 Jobs ~30 GiB/s

    200+ Sites
  15. Computação no CERN Mais recursos, mais automação 1970s 2007

  16. Computação no CERN Mais recursos, mais automação 1970 2007

  17. Computação no CERN Mais recursos, mais automação 1970 2007

  18. Computação no CERN Mais recursos, mais automação 1970 2007

  19. Containers Simplificação da Infra-estrutura Monitorização, Ciclo e Manutenção, Alarmes Simplificacao

    do Deployment API Uniforme, Replicação, Load Balancing, Configuração Picos periódicos de utilização Conferências internacionais, Campanhas de Reprocessamento
  20. Provisionamento Deployment Atualização Infra-estrutura Fisica Dias ou Semanas Minutos ou

    Horas Minutos ou Horas Utilização Fraca Manutenção Muito Intrusivo Virtualização e Cloud Minutos Minutos ou Horas Minutos ou Horas Boa Possivelmente Menos Intrusivo Containers Segundos Segundos Segundos Muito Boa Menos Intrusivo
  21. Lingua franca da cloud Oferta na maior parte das clouds

    públicas Múltiplas opções para deployment privado API declarativa para toda a infra-estrutura : computação, armazenamento, networking Ecosistema com vários produtos para funcionalidade adicional Kubernetes
  22. None
  23. None
  24. Exemplos de Utilização

  25. Exemplos de Utilização Filtros dos detectores das experiências Spark as

    a Service, Spark clusters em Kubernetes KubeFlow e ML distribuído Sistemas Batch em Kubernetes WebLogic e outros serviços internos Experiências com DR para a Oracle Cloud
  26. 1 PB / seg < 10 GB / seg Tradicionalmente

    separada em filtros de Hardware e Software ( a mudar gradualmente ) 40 milhões de colisões / segundo ~3000 nós multi core ~30.000 aplicações a monitorizar Sistema critico, falha significa perda de dados Melhorias para a Run 4? Estudo 2017, Mattia Cadeddu, Giuseppe Avolio Kubernetes 1.5.x Primeiro deployment este ano com 1.18.x ATLAS Event Filter
  27. 1 PB / seg < 10 GB / seg Tradicionalmente

    separada em filtros de Hardware e Software ( a mudar gradualmente ) 40 milhões de colisões / segundo ~3000 nós multi-core ~30.000 aplicações a monitorizar Sistema critico, falha significa perda de dados Melhorias para a Run 4? Estudo 2017, Mattia Cadeddu, Giuseppe Avolio Kubernetes 1.5.x Primeiro deployment este ano ATLAS Event Filter
  28. Simulação é um dos principais workloads x100 no proximo upgrade

    para HL-LHC Simulação Rápida com Deep Learning Como reduzir o tempo de treino dos modelos? Sofia Vallecorsa, CERN OpenLab Konstantinos Samaras-Tsakiris
  29. Sched Negotiator Collector Host StartD ... StartD ... StartD ...

    kubefed init fed --host-cluster-context=condor-host ... kubefed join --context fed tsystems \ --host-cluster-context condor-host --cluster-context tsystems Federação v1 - May 2018 Cloud Bingo? kind: DaemonSet ... hostNetwork: true containers: - name: condor-startd image: .../cloud/condor-startd command: ["/usr/sbin/condor_startd", "-f"] securityContext: privileged: true livenessProbe: exec: command: - condor_who
  30. Virtual Kubelet Implementação com um backend para a Kubernetes API

    Burst para qualquer outro cluster Kubernetes, interno ou externo https://github.com/virtual-kubelet/tensile-kube CPU CPU CPU GPU VK CERN
  31. Architectura Stack actual no CERN Integração focada nestes components Standard

    na maior parte dos deployments Incluindo os das clouds publics E deployments de Rancher / k3s Usar uma stack comum facilita a manutenção Master Kubelet cri-containerd containerd Master Kubelet
  32. Automação e GitOps Já fazíamos GitOps antes com Puppet e

    Ansible Git como única “source of truth” para configuração Múltiplos modelos de deployment possíveis 1 ⇢ 1: Actualmente o mais popular: uma aplicação, um cluster 1 ⇢ *: Uma aplicação, múltiplos clusters (HA, Blast Radius, Rolling Upgrades) * ⇢ *: Melhoria de utilização dos recursos Meta Chart git push FluxCD git pull Helm Release CRD Helm Operator
  33. Mais do que gestão da infra-estrutura Melhoria na utilização e

    exploração de recursos externos para análise Challenge: Re-processamento da análise do Higgs em menos de 10min Processamento de um dataset de ~70TB e ~25000 ficheiros Criação do Cluster Pre-Pull da Imagem Stage-In dos Dados Process amento 5 min 4 min 4 min 90 sec Kubernetes para Análise de Dados
  34. Acesso rápido ao software, lazy loading Download das imagens docker

    pode demorar muito tempo ~75% do tempo total de lançamento de um container
  35. Acesso rápido ao software, lazy loading Remote Snapshotter + stargz

    stargz (seekable stargz), tar de ficheiros tar Imagens compatíveis com runtimes actuais estargz (enhanced stargz) Melhoramento com pre-fetch dos dados Usa o entrypoint para escolher esses dados Tempo de start do container: sempre < 6 segs https://medium.com/nttlabs/startup-containers-in-lightning-speed-with-lazy-image-distribution-on-containerd-243d94522361 https://kccnceu20.sched.com/event/ZepQ/startup-containers-in-lightning-speed-with-lazy-image-distribution-kohei-tokunaga-ntt
  36. Desafios e Futuro Necessidade de fazer mais com os mesmos

    recursos High Luminosity Large Hadron Collider - HL-LHC x7 colisões por segundo, x10 mais dados e computação Machine Learning Simulacao rapida, filtros nos detetores, deteção de anomalias, … Melhorar a integração com GPUs, utilização de TPUs, IPUs, FPGAs, ...
  37. Questões ? @ahcorporto ricardo.rocha@cern.ch http://visits.cern/