TP 0 : Mise en place de l'environnement
Prérequis : Docker Desktop doit être installé et en cours d’exécution avant de démarrer les TP Docker, Kind et LocalStack.
Gestionnaire de paquets
Section intitulée « Gestionnaire de paquets »Windows : Chocolatey
Section intitulée « Windows : Chocolatey »Ouvrir PowerShell en mode administrateur, puis exécuter :
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))Vérifier :
choco --versionmacOS : Homebrew
Section intitulée « macOS : Homebrew »/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Vérifier :
brew --versionTerraform
Section intitulée « Terraform »choco install terraformbrew tap hashicorp/tap && brew install hashicorp/tap/terraformsudo apt-get update && sudo apt-get install -y gnupg software-properties-commonwget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.listsudo apt-get update && sudo apt-get install terraformVérifier :
terraform versionOpenTofu
Section intitulée « OpenTofu »OpenTofu est l’alternative open source à Terraform (TP 13).
choco install opentofubrew install opentofucurl --proto '=https' --tlsv1.2 -fsSL https://get.opentofu.org/install-opentofu.sh | sudo sh -s -- --install-method debVérifier :
tofu versionchoco install kubernetes-clibrew install kubectlcurl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlVérifier :
kubectl version --clientKind (Kubernetes in Docker)
Section intitulée « Kind (Kubernetes in Docker) »choco install kindbrew install kindcurl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.26.0/kind-linux-amd64chmod +x ./kindsudo mv ./kind /usr/local/bin/kindVérifier :
kind versionchoco install kubernetes-helmbrew install helmcurl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bashVérifier :
helm versionchoco install k9sbrew install k9scurl -sS https://webinstall.dev/k9s | bashVérifier :
k9s versionTrivy est utilisé pour scanner le code Terraform (TP 11).
choco install trivybrew install trivysudo apt-get install wget apt-transport-https gnupgwget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -echo deb https://aquasecurity.github.io/trivy-repo/deb generic main | sudo tee /etc/apt/sources.list.d/trivy.listsudo apt-get update && sudo apt-get install trivyVérifier :
trivy --versionInfracost
Section intitulée « Infracost »Infracost est utilisé pour estimer les coûts d’infrastructure (TP 12).
choco install infracostbrew install infracostcurl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | shVérifier et configurer (clé API gratuite requise) :
infracost --versioninfracost auth loginjq est utilisé pour parser les rapports JSON d’Infracost (TP 12).
choco install jqbrew install jqsudo apt-get install jqVérifier :
jq --versionVérification globale
Section intitulée « Vérification globale »terraform versiontofu versiondocker versionkubectl version --clientkind versionhelm versionk9s versiontrivy --versioninfracost --versionjq --versionmacOS / Linux
Section intitulée « macOS / Linux »terraform versiontofu versiondocker versionkubectl version --clientkind versionhelm versionk9s versiontrivy --versioninfracost --versionjq --version