terraforming the cloud - part 2
- version 2023-10-22
Temas abordados neste modulo:
- Criação de modulos de Terraform
- Criação de cluster GKE
- Criação de zonas de DNS
- Utilização de diferentes providers (kubectl provider)
- Templates de ficheiros
iniciar o tutorial (setup automatico)
erro a abrir o tutorial
Se por acaso tiverem este erro:
Devem fechar o tutorial:
E depois na cloudshell vamos reinicar o tutorial usando o seguinte comando:
teachme tutorial.md
setup do ambiente (manual)
Esta secção explica como preparar o IDE para poderem executar os comandos do tutorial.
Abaixo seguem dois guias para configuração em:
- Google Cloud Shell
- Visual Studio Code
configurar a cloud shell
Abrir o endereço https://console.cloud.google.com e autenticar.
De seguida, ativar a cloud shell:
Abrir em nova janela:
Abrir editor:
Fechar a janela do terminal no fundo:
Abrir novo terminal (embebido no editor):
Clonar o projeto:
git clone 4 && cd terraforming-the-cloud-part2
Abrir o editor na pasta do projeto:
E agora que têm o editor pronto, podemos autenticar a consola com o GCP:
gcloud config set project <project-id> &&
gcloud config set accessibility/screen_reader false
configurar o vscode
apenas válido para vscode em WSL (windows-subsystem-linux) - instalações em powershell não são suportadas
Caso decidam usar o vscode
, é necessário garantirem que têm os seguintes binários instalados.
As instruções que seguem vão instalar as tools necessárias:
- terraform
- kubectl
- gcloud
# instalar as tools necessárias (podem skipar se já têm instaladas)
sudo ./scripts/install-terraform.sh # terraform
sudo ./scripts/install-kubectl.sh # kubectl
curl https://sdk.cloud.google.com | bash # gcloud
# reinicializar a shell
exec -l $SHELL
# inicializar o cliente gcloud
gcloud init
gcloud auth application-default login
# definir o projeto por defeito (opcional)
gcloud config set project <project-id>
Por fim, podemos clonar o projeto:
git clone https://github.com/nosportugal/terraforming-the-cloud-part2-2022-autopilot && cd terraforming-the-cloud-part2
Trabalhar com o projeto full (sem código comentado)
Se por ventura quiserem experimentar o projeto sem terem que andar a descomentar, podem obter uma versão descomentada do projeto a partir da workshop-full
branch:
https://github.com/nosportugal/terraforming-the-cloud-part2-2022-autopilot/tree/workshop-full
Para poderem clonar o código na branch, deverão fazer o seguinte:
git clone https://github.com/nosportugal/terraforming-the-cloud-part2-2022-autopilot.git
git checkout workshop-full
Comandos úteis
# obter a lista de machine-types
gcloud compute machine-types list --zones=europe-west1-b --sort-by CPUS
# listar a lista de regioes disponiveis
gcloud compute regions list
# listar as zonas disponiveis para uma dada regiao
gcloud compute zones list | grep europe-west1
# listar network-endpoints
gcloud compute network-endpoint-groups list
# apagar network-endpoints
gcloud compute network-endpoint-groups delete <id>
# delete multiple negs at once
gcloud compute network-endpoint-groups delete $(gcloud compute network-endpoint-groups list --format="value(name)")
# verificar as versoes dos release channels
gcloud container get-server-config --format "yaml(channels)" --zone europe-west1-b