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"
Realizar los siguientes tutoriales. Anotar todo lo que no se puede replicar en el entonro local y luego en conjunto lo revisamos.
- https://www.katacoda.com/contino/courses/kubernetes/pods
- https://www.katacoda.com/contino/courses/kubernetes/basic-deployments
- https://www.katacoda.com/contino/courses/kubernetes/services
- https://www.katacoda.com/javajon/courses/kubernetes-fundamentals/configmap-secret
- https://www.katacoda.com/lizrice/scenarios/kubernetes
- Clonarse el siguiente repositorio: https://github.com/nelsonyaccuzzi/web-go.git
- Analizar el codigo y el Dockerfile
- Construir la imagen y pushearla a un repo propio en dockerhub
- Testear la imagen localmente con docker
- 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
yBAR
deben ser montadas mediante ConfigMaps en el despliegue - Las variables de ambiente
SUPERSECRETUSER
ySUPERSECRETPASS
deben ser montadas mediante Secrets en el despliegue - Deben haber al menos dos pods corriendo
- Se debe poder acceder a estos recursos por Ingress
- 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
- Modificar el archivo
web.go
agregando un nueva impresion por pantalla - Construir la imagen y pushearla con un tag nuevo (ej.
v2
) - Modificar los recursos necesarios para que kubernetes despliegue la nueva version.