Verificando autenticación…

Skip to main content

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/

Installing Homebrew on macOS
/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.

Verifying Homebrew installation
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.

danger

If you have Docker Desktop installed, you must uninstall it.

important

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

Installing Colima (and docker) using Homebrew
brew install colima docker docker-completion docker-compose docker-buildx docker-credential-helper

Start colima with default configuration.

Starting Colima without kubernetes
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

To run containers locally, Podman relies on a Linux kernel. By default, Podman uses the Apple HyperVisor provider.

Installing Podman Desktop (and Podman) using Homebrew
brew install podman podman-desktop docker-compose
Auto-start

To automatically start a Podman virtual machine upon login, we also install podman-desktop.

Create a new virtual machine
podman machine init
Start the new virtual machine
podman machine start
rootless

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.

Verifying Podman installation
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/

Installing kubectl using Homebrew
brew install kubectl

More details at https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/

Verifying kubectl installation
kubectl version --client
Verifying kubectl installation with a detailed view
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/

Installing kubecolor using Homebrew
brew install kubecolor
Aliases

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.).

~/.bashrc
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/

Installing Kind using Homebrew
brew install kind

Installing Minikube

The computer must have VMX enabled at the BIOS level.

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".

Installing Minikube on macOS
brew install --formula minikube
Verifying Minikube installation
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/

Installing Helm using Homebrew
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/

Installing Kustomize using Homebrew
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/

Installing Git using Homebrew
brew install git

Installing Google Cloud CLI

tip

To interact with Google Cloud Platform via the command line, the complete documentation is available in the official installation guide.

Installing gcloud-cli using Homebrew
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.

  1. 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
  2. Authentication: If you have already initialized the CLI, you can simply authenticate with:

    gcloud auth login
  3. Configure the Project: Set the GCP project you will be working on.

    gcloud config set project PROJECT_NAME
  4. Configure the Region: Define the default region for deployments.

    gcloud config set compute/region REGION
  5. 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.