Day One Installation
The following steps are necessary to configure your local environment for development on the 🏔️ ANDES platform.
Installing Homebrew
Homebrew installs the stuff you need that Apple (or your Linux system) didn't.
More details can be found at https://brew.sh/
- macOS
- Windows
- Linux
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
First you need to install Windows Subsystem for Linux (WSL).
Follow the instructions at https://docs.microsoft.com/en-us/windows/wsl/install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Linux is not officially supported at LATAM Airlines.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Check your system for potential problems. It will exit with a non-zero status if problems are found.
brew doctor
Container Engines
Container engines are runtime environments that allow you to build, run, and manage applications in containers. They provide the core functionality to create isolated environments called containers, which package applications along with all their dependencies, libraries, and configuration files.
Container engines serve as a bridge between your host operating system and the containerized applications. They manage the container lifecycle from creation to deletion, handling resource allocation, networking, storage, and security policies.
Key Capabilities:
- Container Lifecycle Management: Create, start, stop, restart, and delete containers.
- Image Management: Build, pull, push, and store container images from registries.
- Resource Control: Allocate CPU, memory, and storage resources to containers.
- Network Management: Create virtual networks and manage communication between containers.
- Volume Management: Handle persistent data storage and mount points.
- Security: Implement isolation, user namespaces, and security policies.
Common Use Cases:
- Application Development: Create consistent development environments across teams.
- Testing: Run isolated test environments without affecting the host system.
- Microservices Architecture: Deploy and orchestrate multiple small services.
- CI/CD Pipelines: Build, test, and deploy applications in automated workflows.
- Local Kubernetes Development: Run local clusters for development and testing.
The following sections will guide you through the installation of popular container engines commonly used in the ANDES platform ecosystem.
If you have Docker Desktop installed, you must uninstall it.
You must select only one.
Installing Colima (Alternative 1)
Colima is a container runtime on macOS (and Linux) with minimal setup.
More details can be found at https://github.com/abiosoft/colima
- macOS
- Windows
- Linux
brew install colima docker docker-completion docker-compose docker-buildx docker-credential-helper
Start colima with default configuration.
colima start --cpu 4 --memory 4 --disk 50 --vm-type vz --runtime docker --kubernetes=false --save-config
Colima is not available for Windows.
Linux is not officially supported at LATAM Airlines.
brew install colima docker docker-completion docker-compose docker-buildx docker-credential-helper
Start colima with default configuration.
colima start --cpu 4 --memory 4 --disk 50 --vm-type vz --runtime docker --kubernetes=false --save-config
Installing Podman Desktop and Podman (Alternative 2)
Podman Desktop is a container management tool that allows you to run and manage containers locally.
More information can be found at https://podman-desktop.io/docs/installation
- macOS
- Windows
- Linux
To run containers locally, Podman relies on a Linux kernel. By default, Podman uses the Apple HyperVisor provider.
brew install podman podman-desktop docker-compose
To automatically start a Podman virtual machine upon login, we also install podman-desktop.
podman machine init
podman machine start
This machine is currently configured in rootless mode.
As a result, it cannot expose any ports below 1024 (like HTTP on 80 or HTTPS on 443).
Check your system for potential problems. It will exit with a non-zero status if problems are found.
podman system info
First you need to install Windows Subsystem for Linux (WSL).
Follow the instructions at https://docs.microsoft.com/en-us/windows/wsl/install
It is recommended to install the new Windows Terminal for a better Podman usage experience, this can be installed from the Windows Store itself or via the following winget command:
winget install Microsoft.WindowsTerminal
You must have virtualization enabled on your computer.
To install podman on Windows you must download the .exe installer from the podman Github project:
https://github.com/containers/podman/releases
Once downloaded, run the .exe file to install podman and then reopen a new terminal,
once done podman.exe should be in the computer's $PATH and we should be able to run the following
command to create a new machine:
podman machine init
podman machine start
podman system info
Linux is not officially supported at LATAM Airlines.
brew install podman podman-desktop docker-compose
To automatically start a Podman virtual machine upon login, we also install podman-desktop.
podman machine init
podman machine start
This machine is currently configured in rootless mode.
As a result, it cannot expose any ports below 1024 (like HTTP on 80 or HTTPS on 443).
Check your system for potential problems. It will exit with a non-zero status if problems are found.
podman system info
Installing kubectl
This is the command line tool for deploying and managing applications on Kubernetes.
Using kubectl, you can inspect cluster resources; create, delete, and update components; explore your new
cluster and launch applications.
More information can be found at https://kubernetes.io/docs/tasks/tools/
- macOS
- Windows
- Linux
brew install kubectl
More details at https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/
First you need to install Windows Subsystem for Linux (WSL).
Follow the instructions at https://docs.microsoft.com/en-us/windows/wsl/install
- Download the latest binary version of kubectl, available on the Kubernetes release page:
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"
-
Validate the binary (optional):
Downloading the kubectl validation filecurl.exe -LO "https://dl.k8s.io/${latest_version}$/bin/windows/amd64/kubectl.exe.sha256"-
Using Command Prompt to manually compare the output of
CertUtil:Validating kubectl using CertUtilCertUtil -hashfile kubectl.exe SHA256type kubectl.exe.sha256 -
Using PowerShell to automate validation:
Validating kubectl using 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"}
-
-
Add the directory where
kubectl.exeis located to the systemPATH:- In File Explorer, right-click on the
This PC(orComputer) icon, then click onProperties->Advanced system settings->Environment Variables. - In
System VariablesselectPath, then clickEdit. - Add an entry for the directory where you downloaded
kubectl.exe. - Click OK to save.
- In File Explorer, right-click on the
More details at https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/
Linux is not officially supported at 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
More details at https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
kubectl version --client
kubectl version --client --output=yaml
Installing kubecolor
This is a wrapper for kubectl that adds color to the command line output.
More information can be found at https://kubecolor.github.io/setup/install/
brew install kubecolor
If you want to use kubecolor as an alias for kubectl, you can add the alias to your terminal configuration file
(e.g., ~/.bashrc, ~/.zshrc, etc.).
alias k=kubecolor
alias kubectl=kubecolor
Local Kubernetes Installation
To develop and test applications that will be deployed on Kubernetes clusters, it is useful to have a local Kubernetes cluster on your development machine.
We present two popular tools for running Kubernetes locally: Kind and Minikube.
Installing Kind
Kind (Kubernetes IN Docker) is a tool for running local Kubernetes clusters using Docker containers as cluster nodes. More information can be found at https://kind.sigs.k8s.io/docs/user/quick-start/
brew install kind
Installing Minikube
This means Intel Virtualization Technology (Intel VT-x), which is a hardware feature that allows running multiple operating systems or virtual machines (like VirtualBox, VMware, Docker) efficiently on a single PC, must be active in the BIOS/UEFI configuration for these tools to work correctly.
It is found in the "CPU Configuration" or "Advanced" options with names like "Intel Virtualization Technology", "VT-x" or "SVM" (for AMD) and changing its status from "Disabled" to "Enabled".
- macOS
- Windows
- Linux
brew install --formula minikube
First you need to install Windows Subsystem for Linux (WSL).
Follow the instructions at https://docs.microsoft.com/en-us/windows/wsl/install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Linux is not officially supported at 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
Installing Helm
Helm is a package manager for Kubernetes that allows you to define, install, and upgrade applications in Kubernetes clusters. More information can be found at https://helm.sh/docs/intro/install/
brew install helm
Installing Kustomize
Kustomize is a tool for managing Kubernetes configurations, allowing you to customize and manage resource configurations declaratively.
More information can be found at https://kubectl.docs.kubernetes.io/installation/kustomize/
brew install kustomize
Installing Git
Git is a distributed version control system that allows you to track changes in files and coordinate work on software development projects.
More information can be found at https://git-scm.com/
brew install git
Installing Google Cloud CLI
To interact with Google Cloud Platform via the command line, the complete documentation is available in the official installation guide.
- macOS
- Windows
- Linux
brew install --cask gcloud-cli
First you need to install Windows Subsystem for Linux (WSL).
Follow the instructions at https://docs.microsoft.com/en-us/windows/wsl/install
On Windows, you can open Powershell and run the following command and follow the instructions (Requires having Python installed):
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
& $env:Temp\GoogleCloudSDKInstaller.exe
Linux is not officially supported at LATAM Airlines.
brew install --cask gcloud-cli
Google Cloud CLI Configuration (gcloud)
Once the Google Cloud CLI is installed, you need to configure it to connect to our project.
-
Initialize the SDK: Open your terminal and run the following command. You will be asked to log in to your Google account and choose a default project.
gcloud init -
Authentication: If you have already initialized the CLI, you can simply authenticate with:
gcloud auth login -
Configure the Project: Set the GCP project you will be working on.
gcloud config set project PROJECT_NAME -
Configure the Region: Define the default region for deployments.
gcloud config set compute/region REGION -
Docker Authentication: Configure Docker so it can authenticate with Google Artifact Registry, where our container images are stored.
gcloud auth configure-docker
With these steps, your local environment will be ready to start developing and deploying applications on ANDES.