Skip to content

NOBarbosa/workshop-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workshop Cloud

Introdução

A fim de ensinar como utilizar os recursos do Google Cloud para fazer o deploy de uma aplicação, o GDSC UFBA preparou um workshop onde serão exibidos alguns conceitos sobre Cloud, modelos de computação em nuvem e, um momento prático composto das seguintes etapas:

  • Escolha do projeto
  • Instalação de ferramentas e preparação do ambiente
  • Configurações
  • Deploy do projeto

Ferramentas necessárias para acompanhar o projeto Ao Vivo:

     - gcloud
     - Clonar o projeto

Escolha do Projeto

Utilizaremos para o deploy uma imagem docker com a aplicação de uma página construída em ReactJs. A criação da página não é o foco do projeto entretanto, abaixo você encontrará a descrição básica do processo para elaboração da mesma.

Assista ao Vídeo

Ferramentas e Configurações de Ambiente para construção da página

  - Editor de código: VS Code
  - NodeJs + NPM
  - DOCKER 
  - gcloud

1 - Crie o projeto com: npx create-react-app nome-do-projeto
2 - Na pasta SRC iremos divir o nosso projeto em componetes, são eles:
- Header
- Main
- Footer
- Carrossel (opcional)
scr-components

Cada componente possui seu próprio arquivo index.js e style.css.

O por quê do Docker:

  Além de ser padrão de mercado, ter a possibilidade de transformar uma aplicação em imagem docker permite que ela seja alocada 
  como container em ambientes diferentes, fazendo com que ela possa ser utilizada tanto no computador do desenvolvedor quanto
  no servidor da produção, por exemplo.
  Outra vantagem é que o grupo de máquinas físicas ou virtuais onde os containers são executados (cluster) permite maior 
  facilidade de gerenciamento uma vez que é possível monitorar constantemente.

Google Cloud Platform

Com sua conta já criada, siga os passos:

  - Selecione My first project > novo projeto > escolha um nome > confirme a criação > abra o projeto
first project newproject newproject2 project

Habilitando alguns serviços:

compute engine ativar

Maquinas Virtuais VM

  - Criar instância > renomei (opcional) > selecione a região > configure a máquina > selecione o disco de inicialização (Sistema operacional) > 
  - Em firewall selecione "Permitir tráfego HTTP" > Clique em "CRIAR"
* Deixamos as configurações padrões tanto da máquina quanto do SO pois, são mais que suficiente para o projeto em questão
vm vm vm

Terminadas as configurações, iremos agora nos conectar à máquina criada. Em seguida, seguiremos uma série de comandos para enfim fazer o deploy da aplicação:

vm

Será aberto um terminal e, a partir dele precisaremos digitar os seguintes comandos para instalar as dependências necessárias:

     - sudo apt update
     - sudo apt install git
     - git clone "repositório do projeto"
     - cd "pasta-do-projeto"
     - curl -fsSl  https://deb.nodesource.com/setup_14.x | sudo -E bash -
     - sudo apt-get install -y nodejs
     - npm i
     - npm run-script build
     - sudo npm install -g serve
     - sudo serve -l 80 -s build

Pronto, você receberá a seguinte mensagem:

vm

Ao retornar para página do Google Cloud, você poderá observar a informação IP externo preenchida. Pode pegar esse link e enviar pra seus amigos que eles conseguirão visualizar seu projeto.

vm

Deploy com a imagem Docker

  * Vamos seguir as seguintes orientações após ter excluído o projeto anterior
* As configurações do nosso arquivo Dockerfile e ngnx.config se encontram dentro do projeto.
  * O procedimento incial é semelhante ao anterior.
        - Crie uma nova Instância de VM
        - Escolha um nome para seu projeto e faça as configurações da máquina
        -  <strong> Procure por Contêiner e selecione 'Deploy Contêiner' </strong>
        -  Selecione a imagem do contêiner (Neste caso utilize jonathanbisp/workshop-cloud)
        - Escolha a política de reinicialização  (sugestão: "em caso de falha")
        - pronto, já pode confirmar 
        - Mantenha o restante das configuração iguais a da primeira VM
        - Crie a máquina
        - Seu IP externo já está disponível

Kubernetes Engine

 Agora, faremos a entrega do nosso projeto de forma ainda mais otimizada com o Kubernetes. Para isso, é necessário seguir os seguintes passos:
  
  - De volta na págine do Google Cloud Platform, utilize o menu lateral para procurar por Kubernetes Engine, selecione está opção.
  - Ative a API do Kubernetes Engine
  - Clone o repositório do projeto, dentro dele existe um arquivo chamado deployment.yaml com as configurações necessárias
  -  Assim que ativada a API do kubernetes engine, será exibido em tela o Cluster do Kubernetes com alguas opções. Selecione a opção 'CRIAR'
  - Autopilot do GKE > 'CONFIGURAR'
  - Escolha Nome, Região e selecione 'CRIAR'
  - Agora vá até o terminal do projeto e faça login no gcloud. Utilize os seguintes comandos:
     * gcloud auth login
  - instale o plugin do Kubernets 
     * gcloud components install kubectl
  - Após a conclusão da criação do cluster volte ao terminal e digite o seguinte comando fazendo as devidas substituições:
     * gcloud container clusters get-credentials <nome-docluster> --zone=<local-do-cluster> --project=<id-projeto>
  - Quando conectado execute:
     * kubectl apply -f deployment.yaml
  - Aguarde a criação na página do Google Cloud Platform, quando disponível será exibida a informação 'Pontos de Extremidade'. Pronto, já foi feito o deploy do seu projeto.

baixe isso: https://cloud.google.com/sdk/docs/install

Referências

About

Workshop oferecido pelo GDSC UFBA

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published