Skip to content

Instantly share code, notes, and snippets.

@nelsonyaccuzzi
Last active September 11, 2020 21:43
Show Gist options
  • Save nelsonyaccuzzi/9946c4a1947adbf2016ab1b1d3d1d6f2 to your computer and use it in GitHub Desktop.
Save nelsonyaccuzzi/9946c4a1947adbf2016ab1b1d3d1d6f2 to your computer and use it in GitHub Desktop.

Practica de Kubernetes

Partir de 1 maquinas virtuales Ubuntu 20, con docker instalado

Instalar Kubeadm - https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

  • Configurar 2 cpus a la maquina virtual
  • IPtables
  • Instalar runtime (hecho)
  • Configurar runtime - https://kubernetes.io/docs/setup/cri/
  • Instalar kubeadm, kubelet, kubectl
  • Disable swap
  • kubeadm config images pull
  • Clonar maquinas virtuales
  • Configurar red Nat
  • Configurar nombre de servidores
    • hostnamectl set-hostname <nombre-servidor>
  • Configurar ips
  • Configurar port fordwarding
  • kubeadm init
  • kubeadm join
  • Copiar config al host e intentar ingresar
  • Ingresar a la api por curl, con token y con api

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "ssh10:tcp:[]:1022:[10.0.2.10]:22"
VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "ssh11:tcp:[]:1122:[10.0.2.11]:22"
VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "api:tcp:[]:6443:[10.0.2.10]:6443"

Tutoriales

Realizar los siguientes tutoriales. Anotar todo lo que no se puede replicar en el entonro local y luego en conjunto lo revisamos.

Ejercicio

  1. Clonarse el siguiente repositorio: https://github.com/nelsonyaccuzzi/web-go.git
  2. Analizar el codigo y el Dockerfile
  3. Construir la imagen y pushearla a un repo propio en dockerhub
  4. Testear la imagen localmente con docker
  5. Generar los siguientes recursos necesarios para ejecutar esta servidor web en Kubernetes teniendo en cuenta lo siguiente:
    • Los recursos tienen que estar en un namespace independiente
    • Las variables de ambiente FOO y BAR deben ser montadas mediante ConfigMaps en el despliegue
    • Las variables de ambiente SUPERSECRETUSER y SUPERSECRETPASS deben ser montadas mediante Secrets en el despliegue
    • Deben haber al menos dos pods corriendo
    • Se debe poder acceder a estos recursos por Ingress
  6. Teniendo en cuenta lo armado, duplicar los recursos teniendo en cuenta lo siguiente
    • Los recursos tienen que estar en un namespace distinto al anterior
    • Se debe poder acceder a los servicios de este namespace por un path distinto al anterior
  7. Modificar el archivo web.go agregando un nueva impresion por pantalla
  8. Construir la imagen y pushearla con un tag nuevo (ej. v2)
  9. Modificar los recursos necesarios para que kubernetes despliegue la nueva version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment