Instalación de Día 1
Los siguientes pasos son necesarios para configurar tu entorno local para el desarrollo en la plataforma 🏔️ ANDES.
Instalando Homebrew
Homebrew instala las herramientas que necesitas que Apple (o tu sistema Linux) no incluyó.
Más detalles se pueden encontrar en https://brew.sh/
- macOS
- Windows
- Linux
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Primero necesitas instalar Windows Subsystem for Linux (WSL).
Sigue las instrucciones en https://docs.microsoft.com/en-us/windows/wsl/install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Linux no está oficialmente soportado en LATAM Airlines.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Verifica tu sistema en busca de problemas potenciales. Saldrá con un estado distinto de cero si se encuentran problemas.
brew doctor
Motores de contenedores
Los motores de contenedores son entornos de ejecución que te permiten construir, ejecutar y administrar aplicaciones en contenedores. Proporcionan la funcionalidad central para crear entornos aislados llamados contenedores, que empaquetan aplicaciones junto con todas sus dependencias, librerías y archivos de configuración.
Los motores de contenedores sirven como puente entre tu sistema operativo anfitrión y las aplicaciones en contenedores. Gestionan el ciclo de vida de los contenedores desde la creación hasta la eliminación, manejando la asignación de recursos, redes, almacenamiento y políticas de seguridad.
Capacidades Clave:
- Gestión del Ciclo de Vida de Contenedores: Crear, iniciar, detener, reiniciar y eliminar contenedores.
- Gestión de Imágenes: Construir, descargar, subir y almacenar imágenes de contenedores desde registros.
- Control de Recursos: Asignar recursos de CPU, memoria y almacenamiento a contenedores.
- Gestión de Red: Crear redes virtuales y gestionar la comunicación entre contenedores.
- Gestión de Volúmenes: Manejar almacenamiento persistente de datos y puntos de montaje.
- Seguridad: Implementar aislamiento, espacios de nombres de usuario y políticas de seguridad.
Casos de Uso Comunes:
- Desarrollo de Aplicaciones: Crear entornos de desarrollo consistentes entre equipos.
- Pruebas: Ejecutar entornos de prueba aislados sin afectar el sistema anfitrión.
- Arquitectura de Microservicios: Desplegar y orquestar múltiples servicios pequeños.
- Pipelines de CI/CD: Construir, probar y desplegar aplicaciones en flujos de trabajo automatizados.
- Desarrollo Local de Kubernetes: Ejecutar clústeres locales para desarrollo y pruebas.
Las siguientes secciones te guiarán a través de la instalación de motores de contenedores populares que se usan comúnmente en el ecosistema de la plataforma ANDES.
Si tienes instalado Docker Desktop debes desinstalarlo.
Debes seleccionar solo uno.
Instalando Colima (Alternativa 1)
Colima es un runtime de contenedores en macOS (y Linux) con configuración mínima.
Más detalles se pueden encontrar en https://github.com/abiosoft/colima
- macOS
- Windows
- Linux
brew install colima docker docker-completion docker-compose docker-buildx docker-credential-helper
Inicia colima con la configuración predeterminada.
colima start --cpu 4 --memory 4 --disk 50 --vm-type vz --runtime docker --kubernetes=false --save-config
Colima no está disponible para Windows.
Linux no está oficialmente soportado en LATAM Airlines.
brew install colima docker docker-completion docker-compose docker-buildx docker-credential-helper
Inicia colima con la configuración predeterminada.
colima start --cpu 4 --memory 4 --disk 50 --vm-type vz --runtime docker --kubernetes=false --save-config
Instalando Podman Desktop y Podman (Alternativa 2)
Podman Desktop es una herramienta de gestión de contenedores que te permite ejecutar y administrar contenedores localmente.
Más información se puede encontrar en https://podman-desktop.io/docs/installation
- macOS
- Windows
- Linux
Para ejecutar contenedores localmente, Podman depende de un kernel de Linux. Por defecto, Podman usa el proveedor Apple HyperVisor.
brew install podman podman-desktop docker-compose
Para iniciar automáticamente una máquina virtual de Podman al hacer login, también instalamos podman-desktop.
podman machine init
podman machine start
Esta máquina está actualmente configurada en modo rootless.
Como resultado, no puede exponer ningún puerto por debajo de 1024 (como HTTP en 80 o HTTPS en 443).
Verifica tu sistema en busca de problemas potenciales. Saldrá con un estado distinto de cero si se encuentran problemas.
podman system info
Primero necesitas instalar Windows Subsystem for Linux (WSL).
Sigue las instrucciones en https://docs.microsoft.com/en-us/windows/wsl/install
Se recomienda instalar la nueva terminal de Windows para una mejor experiencia de uso de podman, esta se puede instalar desde la misma Windows Store o a través del siguiente comando winget:
winget install Microsoft.WindowsTerminal
Debes tener la virtualización activada de equipo.
Para instalar podman en Windows se debe descargar el instalador .exe desde el proyecto Github de podman:
https://github.com/containers/podman/releases
Una vez descargado se debe ejecutar el archivo .exe para instalar podman y luego reabrir una nueva terminal,
una vez realizado podman.exe debe estar en el $PATH del equipo y deberíamos ser capaces de correr siguiente
comando para crear una nueva máquina:
podman machine init
podman machine start
podman system info
Linux no está oficialmente soportado en LATAM Airlines.
brew install podman podman-desktop docker-compose
Para iniciar automáticamente una máquina virtual de Podman al hacer login, también instalamos podman-desktop.
podman machine init
podman machine start
Esta máquina está actualmente configurada en modo rootless.
Como resultado, no puede exponer ningún puerto por debajo de 1024 (como HTTP en 80 o HTTPS en 443).
Verifica tu sistema en busca de problemas potenciales. Saldrá con un estado distinto de cero si se encuentran problemas.
podman system info
Instalando kubectl
Esta es la herramienta de línea de comandos para desplegar y administrar aplicaciones en Kubernetes.
Usando kubectl, puedes inspeccionar recursos del clúster; crear, eliminar y actualizar componentes; explorar tu nuevo
clúster y lanzar aplicaciones.
Más información se puede encontrar en https://kubernetes.io/docs/tasks/tools/
- macOS
- Windows
- Linux
brew install kubectl
Más detalles en https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/
Primero necesitas instalar Windows Subsystem for Linux (WSL).
Sigue las instrucciones en https://docs.microsoft.com/en-us/windows/wsl/install
- Descarga la última versión binaria de kubectl, disponible en la página de release de Kubernetes:
latest_version=$(curl -sL https://dl.k8s.io/release/stable.txt)
echo "Latest version is: ${latest_version}"
curl.exe -LO "https://dl.k8s.io/release/${latest_version}/bin/windows/amd64/kubectl.exe"
-
Validamos el binario (opcional):
Descargamos el archivo de validación de kubectlcurl.exe -LO "https://dl.k8s.io/${latest_version}$/bin/windows/amd64/kubectl.exe.sha256"-
Utilizando Command Prompt para comparar manualmente la salida de
CertUtil:Validando kubectl usando CertUtilCertUtil -hashfile kubectl.exe SHA256type kubectl.exe.sha256 -
Utilizando PowerShell para automatizar la validación:
Validando kubectl usando PowerShell$expected_hash = Get-Content kubectl.exe.sha256$actual_hash = (Get-FileHash kubectl.exe -Algorithm SHA256).Hashif ($expected_hash -eq $actual_hash) {Write-Host "Hash match: kubectl is valid"} else {Write-Host "Hash mismatch: kubectl may be corrupted"}
-
-
Agregamos el directorio en donde está
kubectl.exealPATHdel sistema:- En File Explorer, click derecho en el ícono de
This PC(oComputer), luego clic enProperties->Advanced system settings->Environment Variables. - En
System VariablesseleccionaPath, luego clic enEdit. - Agrega una entrada para el directorio donde descargaste
kubectl.exe. - Clic en OK para guardar.
- En File Explorer, click derecho en el ícono de
Más detalles en https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/
Linux no está oficialmente soportado en LATAM Airlines.
sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
Más detalles en https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
kubectl version --client
kubectl version --client --output=yaml
Instalando kubecolor
Este es un wrapper para kubectl que añade color a la salida de línea de comandos.
Más información se puede encontrar en https://kubecolor.github.io/setup/install/
brew install kubecolor
Si quieres usar kubecolor como un alias para kubectl, puedes añadir el alias a tu archivo de configuración de terminal
(ej., ~/.bashrc, ~/.zshrc, etc.).
alias k=kubecolor
alias kubectl=kubecolor
Instalación de Kubernetes local
Para desarrollar y probar aplicaciones que se desplegarán en clústeres de Kubernetes, es útil tener un clúster local de Kubernetes en tu máquina de desarrollo.
Presentamos dos herramientas populares para ejecutar Kubernetes localmente: Kind y Minikube.
Instalando Kind
Kind (Kubernetes IN Docker) es una herramienta para ejecutar clústeres locales de Kubernetes usando contenedores Docker como nodos del clúster. Más información se puede encontrar en https://kind.sigs.k8s.io/docs/user/quick-start/
brew install kind
Instalando Minikube
Esto quiere decir la Tecnología de Virtualización de Intel (Intel VT-x), que es una función de hardware que permite ejecutar múltiples sistemas operativos o máquinas virtuales (como VirtualBox, VMware, Docker) de forma eficiente en un solo PC, debe estar activa en la configuración de la BIOS/UEFI para que estas herramientas funcionen correctamente.
se encuentra en las opciones de "Configuración de CPU" o "Avanzado" con nombres como "Intel Virtualization Technology", "VT-x" o "SVM" (para AMD) y cambiando su estado de "Disabled" a "Enabled".
- macOS
- Windows
- Linux
brew install --formula minikube
Primero necesitas instalar Windows Subsystem for Linux (WSL).
Sigue las instrucciones en https://docs.microsoft.com/en-us/windows/wsl/install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Linux no está oficialmente soportado en LATAM Airlines.
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install apt-transport-https wget curl
sudo apt install virtualbox virtualbox-ext-pack
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikube
minikube version
kubectl cluster-info
Instalando Helm
Helm es un gestor de paquetes para Kubernetes que te permite definir, instalar y actualizar aplicaciones en clústeres de Kubernetes. Más información se puede encontrar en https://helm.sh/docs/intro/install/
brew install helm
Instalando Kustomize
Kustomize es una herramienta para gestionar configuraciones de Kubernetes, permitiéndote personalizar y administrar configuraciones de recursos de forma declarativa.
Más información se puede encontrar en https://kubectl.docs.kubernetes.io/installation/kustomize/
brew install kustomize
Instalando Git
Git es un sistema de control de versiones distribuido que te permite rastrear cambios en archivos y coordinar el trabajo en proyectos de desarrollo de software.
Más información se puede encontrar en https://git-scm.com/
brew install git
Instalando Google Cloud CLI
Para interactuar con Google Cloud Platform a través de la línea de comandos, la documentación completa se encuentra disponible en la guía de instalación oficial.
- macOS
- Windows
- Linux
brew install --cask gcloud-cli
Primero necesitas instalar Windows Subsystem for Linux (WSL).
Sigue las instrucciones en https://docs.microsoft.com/en-us/windows/wsl/install
En Windows, puedes abrir la Powershell y ejecutar el siguiente comando y seguir las instrucciones (Requiere tener instalado Python):
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
& $env:Temp\GoogleCloudSDKInstaller.exe
Linux no está oficialmente soportado en LATAM Airlines.
brew install --cask gcloud-cli
Configuración de la CLI de Google Cloud (gcloud)
Una vez instalado el CLI de Google Cloud, necesitas configurarlo para conectarte a nuestro proyecto.
-
Inicializa el SDK: Abre tu terminal y ejecuta el siguiente comando. Se te pedirá que inicies sesión en tu cuenta de Google y elijas un proyecto por defecto.
gcloud init -
Autenticación: Si ya has inicializado el CLI, puedes simplemente autenticarte con:
gcloud auth login -
Configura el Proyecto: Establece el proyecto de GCP en el que trabajarás.
gcloud config set project PROJECT_NAME -
Configura la Región: Define la región por defecto para los despliegues.
gcloud config set compute/region REGION -
Autenticación de Docker: Configura Docker para que pueda autenticarse con Google Artifact Registry, donde se almacenan nuestras imágenes de contenedores.
gcloud auth configure-docker
Con estos pasos, tu ambiente local estará listo para empezar a desarrollar y desplegar aplicaciones en ANDES.