Skip to content

ruanvirginio/projeto-ppgti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Otimização da Rede Elétrica: Integração de Dados de Descargas Atmosféricas e Interrupções de Energia para a Identificação de Pontos de Instalação de Para-raios na Distribuição de Energia

Projeto da disciplina de Integração de Dados, do Mestrado Profisisonal em Tecnologia da Informação. PPGTI-IFPB.

Grupo do projeto: Raisa Gomes Ponce de Carvalho Rocha Ruan Carlos Virginio dos Santos Ruanney Nascimento Costa de Almeida

Subindo ambiente do minikube

Pré-requisitos:

curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd
rm argocd-linux-amd64

Com o Docker desktop rodando, abra o terminal e execute o comando:

minikube start --driver=docker --cpus=2 --memory=3863
  • Ajuste a quantidade de memória/cpu de acordo com o disponível na sua máquina

Subindo o Argo (CI/CD)

  1. Abra o projeto projeto-ppgti no terminal e entre no diretório "cicd".
  2. Crie o namespace "cicd" no cluster kubernetes do Minikube:
kubectl create namespace cicd
  1. Atualize os repositórios do helm e adicione o repositório de charts do Argo ao helm local
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
  1. Use o comando helm install para instalar o Argo a partir do seu chart.
helm upgrade --install argocd argo/argo-cd --namespace cicd --wait
  1. Faça port-forward do argo para poder ter acesso à sua interface gráfica via navegador:
kubectl port-forward svc/argocd-server 8080:80 -n cicd
  1. Em uma nova aba do terminal, rode o seguinte comando para descobrir a senha de acesso (usuário padrão é admin):
password="$(kubectl -n cicd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d)"
echo $password
  1. Adicione a permissão ao Argo para gerenciar recursos no cluster:
kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=system:serviceaccount:cicd:argocd-application-controller -n cicd
  1. Adicione o cluster do minikube como cluster gerenciado pelo argo
argocd login localhost:8080 --username admin --password $password
CLUSTER="minikube"
argocd cluster add $CLUSTER --in-cluster
  1. Adicione o repositório projeto-ppgti como gerenciado pelo argo. Isso fará com que o Argo aplique automaticamente atualizações enviadas ao repositório.
REPOSITORY="git@github.com:ruanvirginio/projeto-ppgti.git"
argocd repo add $REPOSITORY --ssh-private-key-path ~/.ssh/id_rsa

Acesse a interface do argo em http://localhost:8080 e faça login com usuário admin e senha contida na variável $password

Subindo o Minio (Datalake)

  1. Crie o namespace "datalake" no cluster kubernetes do Minikube:
kubectl create namespace datalake
  1. Aplique a configuração de nova aplicação do argo para subir o minio:
kubectl apply -f datalake/minio.yaml
  1. Aguarde a aplicação ser sua instalação finalizada (acompanhe via Argo) e em seugida faça port-forward do minio para poder ter acesso à sua interface gráfica via navegador. A porta 9001 será usada para acessar o console (via navegador), enquanto que a porta 9000 será usada para acessar o minio via código (API).
kubectl port-forward svc/minio 9000:9000 -n datalake & kubectl port-forward svc/minio-console 9001:9001 -n datalake &

Acesse a interface do minio em http://localhost:9001 e faça login com usuário root e senha minio123

Subindo Airflow (Orchestration)

  1. Crie o namespace "orchestration" no cluster kubernetes do Minikube:
kubectl create ns orchestrator
  1. Aplique a configuração de nova aplicação do argo para subir o airflow:
kubectl apply -f airflow/airflow.yaml
  1. Aguarde a aplicação ser sua instalação finalizada (acompanhe via Argo) e em seguida faça port-forward do airflow para poder ter acesso à sua interface gráfica via navegador.
kubectl port-forward svc/airflow-web 8001:8080 -n orchestrator

Acesse a interface em http://localhost:8001/ com usuário/senha admin.

Ao entrar, ir para Admin > Connections e preencher com as seguintes informações:

  • Connection Id: minio
  • Connection Type: Generic
  • Host: minio.datalake.svc.cluster.local
  • Login/Password: Login e Senha do Minio
  • Port: 9000

Após isso, salve e volte para as DAGs e atualize a página. Rode a DAG e aguarde os resultados.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published