Crie uma conta gratuita na Oracle Cloud, e provisione um cluster Kubernetes gerenciado (OKE) usando o Terraform de forma simples e rápida.
- Todos terão acesso a um tenant individual para execução do lab. Para ativar o ambiente, acesse este link e crie a sua conta.
IMPORTANTE:
- No cadastro o País/Território será Brazil mas a Home Region do seu cadastro será "US East-Ashburn”.
- Utilizem o mesmo e-mail que vocês usaram para se inscrever no evento, pois habilitamos uma oferta gratuita nesses e-mails. Caso já tenham uma conta OCI neste e-mail nos enviem um novo e-mail que habilitaremos outra oferta para vocês.
- No cadastro não coloque o nome da empresa, pois ao colocar será necessário o CNPJ.
- Se você já tiver um trial (acesso a nuvem da Oracle) ativo nesse email, você irá conseguir realizar o lab pois serão utilizados recursos always free, porém não terá os 500 dólares sem cartão pois um valor de testes já foi disponibilizado nos 30 dias da ativação.
region = us-ashburn-1
shape = VM.Standard.E3.Flex
memory_in_gbs_per_node = 1
image_id = ocid1.image.oc1.iad.aaaaaaaab2z4tdx4ozceelvzjzvvugwyavhco7mjuq44ejszrvw4yhz4za5a
node_size = 1
kubernetes_version = v1.26.7
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "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.list
sudo apt update && sudo apt install terraform
-
Baixe o Terraform e descompacte o arquivo em um diretório de sua preferência.
-
Adicione o diretório ao PATH do Windows.
- Execute o comando de instalação:
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
-
Quando solicitado para atualizar a variável PATH, digite
yes
e ele atualizará automaticamente seu arquivo .bashrc ou .bash_profile para você. Se você usar um shell diferente, precisará informar o caminho para o OCI CLI (por exemplo, ~/zshrc). -
Reinicie sua sessão no terminal.
-
Verifique a instalação.
oci -v
-
Faça download do instalador MSI da CLI do OCI para Windows no GitHub Releases
-
Execute o instalador e siga as instruções.
- Execute o comando de configuração.
oci session authenticate --region us-ashburn-1
- Exporte o token de autenticação.
- Linux
export OCI_CLI_AUTH=security_token
- Windows
set OCI_CLI_AUTH=security_token
- Verifique se a configuração foi realizada com sucesso.
oci session validate --config-file ~/.oci/config --profile DEFAULT --auth security_token
- Clone o repositório.
git clone https://github.com/Rapha-Borges/oke-free.git
- Dentro do diretório do projeto, gere a chave SSH e adicione o valor da chave pública na TF_VAR.
ssh-keygen -t rsa -b 4096 -f id_rsa
export TF_VAR_ssh_public_key=$(cat id_rsa.pub)
- Valide o tempo de vida do token de autenticação, aconselho que o tempo de vida seja maior que 30 minutos.
oci session validate --config-file ~/.oci/config --profile DEFAULT --auth security_token
Caso o token esteja próximo de expirar, faça o refresh do token e exporte novamente.
oci session refresh --config-file ~/.oci/config --profile DEFAULT --auth security_token
export OCI_CLI_AUTH=security_token
- Inicialize o Terraform.
terraform init
- Crie o cluster.
terraform apply
- Acesse o cluster.
kubectl get nodes
O cluster que criamos já conta com um Network Load Balancer configurado para expor uma aplicação na porta 80. Basta configurar um serviço do tipo NodePort
com a porta 80
e a nodePort 30080
. Exemplos de como configurar o serviço podem ser encontrados no diretório manifests
.
O endereço do Load Balancer é informado na saída do Terraform, no formato public_ip = "xxx.xxx.xxx.xxx"
e pode ser consultado a qualquer momento com o comando:
terraform output public_ip
- Para deletar o cluster bastar executar o comando:
terraform destroy
Error: Error creating cluster: clusters.clustersClient#CreateCluster: Failure sending request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=<nil> Code="OutOfCapacity" Message="Out of capacity"
As contas gratuitas tem um número limitado de instâncias disponíveis, possivelmente a região que você está tentando criar o cluster não tem mais instâncias disponíveis. Você pode tentar criar o cluster em outra região ou fazer o upgrade para uma conta Pay As You Go
.Você não será cobrado pelo uso de recursos gratuitos mesmo após o upgrade.
Gere um novo token de autenticação e exporte para a variável de ambiente OCI_CLI_AUTH
.
oci session authenticate --region us-ashburn-1
- Linux
export OCI_CLI_AUTH=security_token
- Windows
set OCI_CLI_AUTH=security_token