Aula 08 - Kubernetes - Cluster OCI

Oracle: https://cloud.oracle.com/ Documentação do Kubernetes: https://kubernetes.io/docs/home/ Github do Kubernetes: https://github.com/kubernetes/kubernetes Github do Script: https://github.com/HotNoob/Oracle-Free-Arm-VPS-PS/tree/main Introdução Bem-vindos à oitava aula do curso de Kubernetes! Nessa aula iremos criar de forma super fácil, um cluster kubernates diretamente na interface web da Oracle. Depois acessar ele da máquina local.

Requisitos para a Aula

  • Ter uma conta Oracle.
Caso não tenha, é fácil e gratuito criar uma. Clique na imagem abaixo e crie sua conta gratuitamente na Oracle.

Verificar Email

Clique em verificar email e você receberá um link para você terminar seu cadastro.

Senha e Confirmação de senha

Método de Pagamento (Necessário)

No processo da criação da conta, a Oracle solicita um cartão de crédito para verificação, é cobrado um valor simbólico, bem baixo mesmo, mas logo depois o valor extornado, é só para garantir que seja um cartão de crédito válido. A Oracle ainda dá R$ 1.500,00 para você testar gratuitamente e quando o teste terminar, sua conta estará limitada aos recursos Sempre Gratuitos(Always Free). Depois de completar o cadastro, clique em Iniciar minha avaliação gratuita. Por uma questão de segurança da sua conta, ele vai forçar você a fazer a autenticação de dois fatores. Você pode usar um app para mobile como o google autenticator, ou facebook autenticator, etc. Para essa parte da autenticação de dois fatores. Pronto, se não tinha, agora você já tem uma conta na Oracle.

Recursos Always Free de Computação Disponíveis

Embora a documentação da Oracle informe que é possível criar até 4 instâncias da forma: VM.Standard.A1.Flex com 1 OCPU e 6GB de memória, na prática não consegui criar, pelo menos na área da minha conta que é São Paulo -SP, Brasil. Todas as vezes que tentei criar, deu erro, dizia que tinha ultrapassado os recursos e ao mesmo tempo pedia para tentar mais tarde. Tentei gerar um cluster kubernates com a única opção Always Free disponível no Quick Create, a VM.Standard.A1.Flex, aí ele cria automaticamente uma VCN, um reservatório de nós com os nós que você definiu. Isso na teoria, mas na prática, tentei com 4 instâncias da forma: VM.Standard.A1.Flex com 1 OCPU e 6GB de memória. O cluster aparentemente foi criado, mas, quando fui ver os nós, todos tinha dado erro na criação. :( Não sei se é por alguma limitação da zona de São Paulo? Brasil? No Quick Create não é oferecida a forma VM.Standard.E2.1.Micro que é outra instância do plano Always Free. Testei criando com o Quick Create uma VCN e dois nós com o VM.Standard.E2.1.Micro usando o K3S, uma versão leve do Kubernates, para economizar recursos. Consegui instalar dois nós, e configurar um controlplane e o outro worknode, mas ficou muito lento, o worknode travava quando tentava reiniciar, enfim, acho que ficou pesado para os recursos dessas instâncias. Por causa desses problemas, desisti de utilizar do always free, e decidi mostrar como criar uma cluster na OCI através da sua interface Web, com o Quick Create, e usando 3 instâncias da forma: VM.Standard.E3.Flex.

Quick Create

Vamos criar um cluster com 3 nós, de instâncias pagas, a VM.Standard.E3.Flex. No menu hamburguer, selecione Developer Services e Kubernates Clusters (OKF). Clique no botão Create cluster. Veja que o Quick Create cria e configura alguns recursos automaticamente. New resources include: Virtual Cloud Network (VCN) Internet Gateway (IG) NAT Gateway (NAT) Service Gateway (SGW) Kubernetes cluster Kubernetes worker nodes(s) and node pool Essa é a tela de criação do Cluster. Em Node type escolha Managed. O resto eu deixei como está. Review antes de criar o Cluster Marque a opção Create a Basic cluster em Basic Cluster Confirmation. Clique em Create cluster. E espere completar.

Instale o OCI CLI

Nesse link tem as instruções para instalação do OCI CLI. https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm
oci --version

Configure o OCI CLI

Para que a CLI o guie durante o processo de configuração inicial, use o comando abaixo:
oci setup config
The following links explain where to find the information required by this script: User API Signing Key, OCID and Tenancy OCID: https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#Other Region: https://docs.cloud.oracle.com/Content/General/Concepts/regions.htm General config documentation: https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm Enter a location for your config [C:\Users\totic\.oci\config]: us-central1-a (São Paulo) Enter a user OCID: ocid1.user.oc1..aaaaaaaa.... Enter a tenancy OCID: seutenancy Error: Invalid OCID format. Instructions to find OCIDs: https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#Other Enter a tenancy OCID: ocid1.tenancy.oc1..aaaaaaaa.... Enter a region by index or name(e.g. 1: af-johannesburg-1, 2: ap-chiyoda-1, 3: ap-chuncheon-1, 4: ap-dcc-canberra-1, 5: ap-hyderabad-1, 6: ap-ibaraki-1, 7: ap-melbourne-1, 8: ap-mumbai-1, 9: ap-osaka-1, 10: ap-seoul-1, 11: ap-singapore-1, 12: ap-sydney-1, 13: ap-tokyo-1, 14: ca-montreal-1, 15: ca-toronto-1, 16: eu-amsterdam-1, 17: eu-dcc-dublin-1, 18: eu-dcc-dublin-2, 19: eu-dcc-milan-1, 20: eu-dcc-milan-2, 21: eu-dcc-rating-1, 22: eu-dcc-rating-2, 23: eu-dcc-zurich-1, 24: eu-frankfurt-1, 25: eu-frankfurt-2, 26: eu-jovanovac-1, 27: eu-madrid-1, 28: eu-madrid-2, 29: eu-marseille-1, 30: eu-milan-1, 31: eu-paris-1, 32: eu-stockholm-1, 33: eu-zurich-1, 34: il-jerusalem-1, 35: me-abudhabi-1, 36: me-dcc-doha-1, 37: me-dcc-muscat-1, 38: me-dubai-1, 39: me-jeddah-1, 40: mx-monterrey-1, 41: mx-queretaro-1, 42: sa-bogota-1, 43: sa-santiago-1, 44: sa-saopaulo-1, 45: sa-valparaiso-1, 46: sa-vinhedo-1, 47: uk-cardiff-1, 48: uk-gov-cardiff-1, 49: uk-gov-london-1, 50: uk-london-1, 51: us-ashburn-1, 52: us-chicago-1, 53: us-gov-ashburn-1, 54: us-gov-chicago-1, 55: us-gov-phoenix-1, 56: us-langley-1, 57: us-luke-1, 58: us-phoenix-1, 59: us-saltlake-2, 60: us-sanjose-1): 44 Do you want to generate a new API Signing RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]:  Y Dê um nome para a RSA key pair. Eu chamei a minha de k3s. Escolha a pasta onde quer salvar a chave. Eu deixei a pasta padrão, a: pasta do user/.oci. Crie uma frase de segurança, ou então "N/A" se não quiser criar essa frase.

Conectando ao Cluster

Crie a pasta .kube dentro da sua pasta de usuário.
mkdir -p $HOME/.kube
Acesse o cluster
oci ce cluster create-kubeconfig --cluster-id <OCID_DO_SEU_CLUSTER> --file $HOME/.kube/config --region <SUA_REGIÃO> --token-version 2.0.0 --kube-endpoint PUBLIC_ENDPOINToci setup config
Configure a variável de ambiente KUBECONFIG para apontar para o arquivo kubeconfig que você acabou de criar. No bash:
export KUBECONFIG=$HOME/.kube/config
No Powershell:

env:KUBECONFIG="$HOME\.kube\config"
Liste todos os nós do cluster
kubectl get nodes

Por essa aula é só.

Até a próxima! 🚀

Mantenha a curiosidade e continue praticando!

Meu github:

https://github.com/toticavalcanti

Novamente deixo meus link de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado e bons estudos. ;)