Docker Meetup 22/11 - Keynote / Theseus

Docker Meetup 22/11 - Keynote / Theseus

Meetup de Docker en Mendoza, hablo del estado de Docker/Kubernetes en la actualidad y presento Theseus, nuestro actualizador de nodos de Kubernetes

04280fd182525cdaee76572782ec34c0?s=128

Pablo Fredrikson

November 22, 2018
Tweet

Transcript

  1. Pablo Fredrikson @pablokbs Meetup 22/11

  2. Pablo Fredrikson @pablokbs • Nerd • Lead SRE @ Invision

    • 12 años con Linux / Software Libre • 4+ años con Docker • 2 años con Docker en producción
  3. None
  4. Buenos tiempos

  5. None
  6. None
  7. None
  8. Buenos tiempos

  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. LA NUBE (o la computadora de otro)

  16. Auto Scaling Groups (o ASGs)

  17. Auto Scaling Groups (o ASGs) • Deseado/Max/Min • Reglas Auto

    Escalamiento • Launch configuration (script inicio) • Tags
  18. Buenos tiempos

  19. None
  20. data "aws_ami" "coreos" { filter { name = "coreos" values

    = ["coreos/images/hvm-ssd/coreos-${version}*"] } } resource "aws_launch_configuration" "workers" { name = "cluster1-workers" image_id = "{data.aws_ami.coreos.id}" instance_type = "m3.large" user_data = "${my_install_script}" }
  21. #!/bin/bash ./install-kubernetes-worker.sh ${kubernetes_version}

  22. resource "aws_autoscaling_group" "workers" { name = "cluster1-workers" max_size = 5

    min_size = 2 desired_capacity = 4 health_check_type = "ELB" launch_configuration = "${aws_launch_configuration.workers.name}" tag { key = "KubernetesVersion" value = "${kubernetes_version}" propagate_at_launch = true } }
  23. resource "aws_autoscaling_group" "workers" { name = "cluster1-workers" max_size = 5

    min_size = 2 desired_capacity = 4 health_check_type = "ELB" launch_configuration = "${aws_launch_configuration.workers.name}" tag { key = "AmiVERSION" value = "${ami_version}" propagate_at_launch = true } }
  24. Paradoja de Teseo

  25. ${kubernetes_version} = 1.8 kubernetesVersion = 1.8 ${kubernetes_version} = ?

  26. ${kubernetes_version} = 1.9 kubernetesVersion = 1.8 ${kubernetes_version} = ? x

  27. ${kubernetes_version} = 1.9 kubernetesVersion = 1.9 ${kubernetes_version} = ? x

  28. ${ami_version} = coreos-1668 amiVersion = coreos-1668 ${ami_version} = ?

  29. Theseus • Drena nodos antes de matarlos • Ventana de

    mantenimiento • Concurrencia • Maneja versiones de kubernetes, versiones de AMI, versiones de scripts • Automático
  30. Es open source?

  31. No.

  32. None
  33. Buenos tiempos @pablokbs

  34. ¿Preguntas? @pablokbs @InvisionApp