Skip to content

chaos4455/Devops-2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📁 Portfólio de DevOps 2024

FB_IMG_1707845486777

Olá! Meu nome é Elias Andrade e sou um profissional de TI com mais de 14 anos de experiência na área de infraestrutura de TI, com foco em administração de redes, sistemas Linux e práticas DevOps. Atuei em uma variedade de ambientes, desde pequenas empresas até grandes corporações, adquirindo um conhecimento sólido e uma abordagem versátil para resolver desafios complexos de TI.

Propósito

Meu objetivo é utilizar minha experiência e habilidades para contribuir de forma significativa para projetos e equipes de DevOps, ajudando a implementar práticas eficientes de automação, gerenciamento de infraestrutura e desenvolvimento de software.

Contato



🚀 Meu Portfólio de DevOps: Kubernetes Microservice Architecture

Aqui está o repositório que exibe a profundidade do meu conhecimento em DevOps, Kubernetes, Docker, GitOps, CI/CD, e muito mais! 🌐💻

ImageGlass_gLhTSusu4P ImageGlass_H6LReBA9mz

🌟 Sobre o Projeto

Neste repositório, você encontrará um projeto robusto que demonstra minha capacidade de provisionar ambientes containerizados com tecnologias de ponta, abrangendo desde a criação de Dockerfiles até a configuração de Kubernetes e práticas avançadas de GitOps. 💪✨

O que eu mostro e exemplifico dos meus conhecimento em devops e CI/CD:

  • Docker e Kubernetes: Domínio completo na criação e gerenciamento de contêineres, com orquestração avançada usando Kubernetes. Aprenda como eu configurei Deployments, ReplicaSets, Ingress, e Load Balancers para garantir alta disponibilidade e escalabilidade. 🚢🔧

  • GitOps com Argo CD: Implementação de pipelines CI/CD que utilizam Argo CD para gerenciar e automatizar os deployments de maneira eficiente, mantendo tudo sob controle de versão. Isso garante uma abordagem declarativa e auditável para o gerenciamento de aplicações em Kubernetes. 📈🔄

  • Autoscaling e Load Balancing: Configuração de Horizontal Pod Autoscalers (HPA) que ajustam automaticamente a quantidade de réplicas dos pods com base na carga de trabalho, além de equilibrar a carga com Ingress Controllers e Load Balancers. ⚖️📊

  • Integração Contínua e Entrega Contínua (CI/CD): A construção de pipelines CI/CD eficientes para garantir que cada mudança no código seja testada e implantada automaticamente, utilizando ferramentas como GitHub Actions e Jenkins. 🚀🔁

  • Automação e Inteligência Artificial: Uso de AI Ops e LLM Ops para monitorar e otimizar o desempenho dos ambientes, garantindo operações de alta eficiência. 💡🤖

Por que este projeto é significativo?

Este repositório não é apenas uma coleção de scripts e configurações; ele é uma vitrine do meu background técnico e competências em DevOps. Desde a concepção até a execução, cada componente foi projetado com o objetivo de criar uma solução que não só atenda às necessidades do usuário, mas que também seja escalável e sustentável no longo prazo. 🌍🔝

📈 Conclusão

Convido você a explorar meu repositório Kubernetes MicroService Architect Portfolio e testemunhar meu domínio nas práticas de DevOps e containerização. Este é o estado da arte em orquestração de contêineres, onde a inovação e a eficiência se encontram! 💼🔥

Se você deseja discutir mais sobre as tecnologias apresentadas ou colaborar em futuros projetos, não hesite em entrar em contato! 🚀💬

K8Studio_OZ6XQMeVVS K8Studio_YjbJXMqtOC K8Studio_CvDNiq2Omu K8Studio_Vwup4RFXkr K8Studio_XqYsIjoCMa K8Studio_CVD5bMrG2L K8Studio_gaXPiL1UNm K8Studio_BbhYQ9K9bf K8Studio_a6yBLaAi8Q K8Studio_t83xPb5YGT putty_pmjJUyD4mC K8Studio_xfTduiip4V putty_uYMp8Yp7Ny putty_QQf32WSyUp K8Studio_mU4P7nqEAq cmd_V95Ht3Spal chrome_sytNsPu9MD chrome_g3MFOzVowF K8Studio_8if0NGTnJ7 chrome_OOUhtZ3QHL chrome_uW7jeHFq3r chrome_Yd4nQdpRWP K8Studio_9pxzZpBXq4 screencapture-192-168-0-107-8080-dashboard-2024-09-27-23_06_50 chrome_xgRcEsNnaS chrome_OtdnANgF3k chrome_bUVPcB2pxD chrome_zoouT3rHsD putty_395bhFijOa

Kubernetes MicroService Architecture

Docker

GitOps

Argo CD

CI/CD

AI Ops

LLM Ops

Autoscaling

Load Balancer

Helm

Terraform

Cloud Native



🚀 Também tenho projetos avançados em áreas do estado da arte em IA, machine learning e LLms usando bancos vetoriais.! 🚀

🚀 Explore meu Repositório Avançado de RAG! 🚀

🏆 O que é a técnica de RAG?

Este projeto foca na integração de Geração Aumentada por Recuperação (RAG) utilizando Modelos de Linguagem de Grande Escala (LLMs). Através da combinação de recuperação de informações e geração de texto, proporcionamos respostas mais precisas e contextuais em aplicações de IA.

🔗 Conecte-se e explore: Visite o repositório agora e descubra as possibilidades do RAG! 🌐

👉 Clique aqui para acessar o repositório!


Screen-Shot-2018-04-25-at-13 21 44 Cursor_byyIKdx0Ns Cursor_wP3oSGAVXX Cursor_x2FPxXmTzM Cursor_PcRx3xCli3 Cursor_ATAvkcR48r Cursor_e71H61HiXi

0_hkbsIc6g6u9DWZMH

Cursor_J9NiGmD3ob

🚀 Principais Características:

  • Alta Precisão: Geração de respostas fundamentadas com informações de fontes confiáveis.
  • Eficiência: Otimização do fluxo de trabalho entre recuperação e geração de texto.
  • Interface Amigável: Design intuitivo para facilitar a interação do usuário.

🔧 Tecnologias Utilizadas:

  • 💻 Modelos de Linguagem: Integração com LLMs como GPT-4.
  • 📚 Algoritmos de Recuperação: Técnicas avançadas para busca de dados relevantes.
  • 🔍 Ferramentas de Machine Learning: TensorFlow, PyTorch, e muito mais!

Mais Informações

Para mais detalhes sobre minha experiência, habilidades e certificações, confira meu currículo completo.


🌐 Repositórios Relevantes

Abaixo, você encontrará uma lista de repositórios que destacam minhas habilidades e projetos em diversas áreas, incluindo Kubernetes, Terraform, GitOps, automação de IA, e muito mais. Esses projetos refletem não apenas meu conhecimento técnico, mas também minha capacidade de implementar soluções completas e escaláveis. Cada projeto é um testemunho do que pode ser alcançado através de DevOps e Inteligência Artificial.

📚 Repositórios Notáveis

1. Geração de Documentação e Infraestrutura como Código (IaC)

Documentation Generator Um repositório que permite a geração automática de documentação, IaC, arquivos .tf, e arquivos YAML para ambientes Kubernetes, Terraform, e GitHub Actions. Esta ferramenta é essencial para automatizar e simplificar a criação de infraestruturas.

2. GitOps com Argo CD

Argo CD Deployments Projeto demonstrando meus conhecimentos em GitOps, incluindo todos os arquivos YAML de deploy usados em um ambiente real. A automação garante que, ao atualizar o repositório, o ambiente Kubernetes virtualizado se atualize em tempo real.

3. E-book Gerado por IA sobre RabbitMQ

AI E-book Um e-book 100% gerado por IA, cobrindo tópicos avançados sobre RabbitMQ. Uma demonstração de como a IA pode facilitar a criação de conteúdos ricos e informativos.

4. Análise de Contratos com IA

Contract Analysis POC Um web app SaaS POC criado em Streamlit, utilizando IA para a análise de contratos. Este projeto é um exemplo claro de como a IA pode ser aplicada em contextos práticos para agregar valor aos negócios.

5. Chatbot de IA

AI Chatbot Um projeto de chatbot que utiliza IA para fornecer respostas inteligentes e interativas. Este projeto foi empacotado em uma imagem Docker, garantindo sua portabilidade e escalabilidade.

6. Automação de Análise de Dados

Data Agent Analysis Automação para análise de dados utilizando IA, também empacotada em Docker. Este projeto exemplifica minha abordagem do início ao fim em cada um dos meus trabalhos, garantindo funcionalidade e desempenho.

7. Ferramenta de Automação para Infraestrutura como Código

AI Infra Automation Uma automação para criar IaC usando um console app em Python com Inquirer e Colorama, além da API Google Gemini. Este repositório é uma amostra do uso de automação de IA para facilitar processos complexos.

Se você busca otimizar suas operações de TI e escalar suas infraestruturas de forma eficiente, o AI-Infra-Automation-Toolbox é a escolha ideal. Explore nosso repositório para descobrir como podemos ajudar a transformar sua infraestrutura de TI.


Exemplo de Serviço e Deployment Kubernetes para Nginx Cluster

apiVersion: v1
kind: Service
metadata:
  name: nginx-cluster-svc
  namespace: default
  labels:
    app: nginx-cluster
spec:
  type: NodePort  # Define o tipo de serviço como NodePort, permitindo que o serviço seja acessível em cada nó do cluster Kubernetes.
  selector:
    app: nginx-cluster  # Seleciona os pods que este serviço irá direcionar o tráfego, baseado no label 'app: nginx-cluster'.
  ports:
    - port: 80  # Porta exposta pelo serviço. O serviço estará disponível na porta 80 dentro do cluster Kubernetes.
      targetPort: 80  # Porta no pod que será acessada pelo serviço. Neste caso, o Nginx dentro do pod está configurado para escutar na porta 80.
      nodePort: 30080  # Porta no nó do Kubernetes através da qual o serviço será acessível externamente. Qualquer tráfego recebido na porta 30080 de um nó será encaminhado para o serviço na porta 80.
# Arquivo: mysql-cluster.tf

# Recurso para criar o cluster Kubernetes no GCP
resource "google_container_cluster" "mysql-cluster" {
  name        = "mysql-cluster"
  location    = "us-central1"

  # Configuração do pool de nós dentro do cluster MySQL
  node_pools = [
    {
      name         = "default-pool"
      node_count   = 3  # Define o número inicial de nós no pool
      machine_type = "n1-standard-1"  # Tipo de máquina para os nós
      os_image     = "ubuntu"  # Imagem do sistema operacional para os nós
      autoscaling  = {
        min_node_count = 1  # Número mínimo de nós no pool
        max_node_count = 5  # Número máximo de nós no pool
      }
    }
  ]

  control_plane = {
    version = "1.19.2-gke.1900"  # Versão do plano de controle do Kubernetes
    # Consulte a documentação do GKE para personalizar a imagem do pool de controle, se necessário.
    # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
    # image = "gke-gcr-io/gke-control-plane-v1.19.2-gke.1900"
  }

  legacy_abac = {
    enabled = false  # Desabilita o ABAC legado para o cluster
  }

  network_config = {
    pod_range = "10.244.0.0/14"  # Faixa de IPs para os pods dentro do cluster
  }
}

# Recurso para criar o node pool no cluster MySQL
resource "google_container_node_pool" "mysql-cluster-pool" {
  name         = "mysql-cluster-pool"
  location     = "us-central1"
  cluster      = google_container_cluster.mysql-cluster.name
  node_version = "1.19.2-gke.1900"  # Versão do Kubernetes nos nós do pool
  node_count   = 1  # Número de nós no pool
  # Consulte a documentação do GKE para personalizar a imagem do pool de controle, se necessário.
  # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
  # image = "gke-gcr-io/gke-nodepool-v1.19.2-gke.1900"
  autoscaling = {
    min_node_count = 1  # Número mínimo de nós no pool
    max_node_count = 3  # Número máximo de nós no pool
  }
}

# Recurso para criar uma conta de serviço no GCP para operações do cluster MySQL
resource "google_service_account" "mysql-cluster-sa" {
  name        = "mysql-cluster-sa"
  display_name = "Service account for MySQL cluster operations"
}

# Recurso para gerar a chave da conta de serviço para o cluster MySQL
resource "google_service_account_key" "mysql-cluster-sa-key" {
  service_account_id = google_service_account.mysql-cluster-sa.id
  key_algorithm      = "RSA_4096"  # Algoritmo de chave para a conta de serviço
  # Salve a chave JSON gerada por este recurso em um local seguro
  # para uso posterior na criação do cluster MySQL.
  private_key_type = "GOOGLE_CREDENTIALS_FILE"
}

# Recurso para criar a instância principal do MySQL no GCP
resource "google_cloud_sql_instance" "mysql-primary" {
  name             = "mysql-primary"
  database_version = "MYSQL_8_0"  # Versão do MySQL para a instância
  backend_type     = "SECOND_GEN"  # Tipo de backend da instância
  machine_type     = "db-n1-standard-2"  # Tipo de máquina para a instância
  activation_policy = "ALWAYS"  # Política de ativação da instância
  # Altere o root_password para uma senha forte e segura.
  root_password = "YOUR_STRONG_PASSWORD_HERE"
  hbr_enabled      = true  # Habilita o backup contínuo
}

# Recurso para criar a réplica do MySQL no GCP
resource "google_cloud_sql_instance" "mysql-replica" {
  name             = "mysql-replica"
  database_version = "MYSQL_8_0"  # Versão do MySQL para a instância réplica
  backend_type     = "SECOND_GEN"  # Tipo de backend da instância réplica
  machine_type     = "db-n1-standard-2"  # Tipo de máquina para a instância réplica
  activation_policy = "ALWAYS"  # Política de ativação da instância réplica
  # Altere o root_password para uma senha forte e segura.
  root_password = "YOUR_STRONG_PASSWORD_HERE"
  failover_replica  = {
    automatic = {
      seconds = 300  # Tempo em segundos para a réplica automática
    }
  }
  replica_configuration = {
    source_instance = google_cloud_sql_instance.mysql-primary.name  # Instância de origem para a réplica
    failover  = {
      automatic = {
        failover_timeout = "5s"  # Tempo limite para failover automático
      }
    }
  }
}

# Recurso para criar um firewall para permitir acesso ao MySQL a partir dos pods do cluster
resource "google_compute_firewall" "mysql-cluster-firewall" {
  name          = "mysql-cluster-firewall"
  network       = "default"
  target_tags   = ["mysql-cluster"]
  allow {
    protocol = "tcp"  # Protocolo TCP para as regras de firewall
    ports    = ["3306"]  # Porta MySQL
    sources  = ["10.0.0.0/8"]  # Intervalo de IP para permitir acesso
  }
}

# Recurso para adicionar um rótulo aos pods do cluster MySQL para identificação pelo firewall
resource "google_container_cluster_resource_label" "mysql-cluster-label" {
  cluster_id = google_container_cluster.mysql-cluster.id
  resource_labels = {
    "app" = "mysql-cluster"  # Rótulo aplicado aos pods
  }
}

# Recurso para expor serviços para acesso externo ao MySQL
resource "google_service_networking_service" "mysql-service" {
  name      = "mysql"
  network   = "default"
  ports     = ["3306"]  # Porta MySQL exposta externamente
  selector {
    app = "mysql-cluster"  # Seletor para identificação dos serviços
  }
}

8. Materiais de Estudo e POCs

AI IT Help Materiais de estudo criados para a comunidade, focando em automações de IA. Uma oportunidade de aprender sobre arquitetura de nuvem e suas aplicações práticas.

9. Repositórios de Docker e PowerShell

PowerShell Um repositório que marca o início dos meus estudos em DevOps, onde explorei o PowerShell em profundidade.

Docker Commandlets Meu primeiro repositório de Docker, criado em 01 de 2018. Desde então, tenho trabalhado com Docker e Kubernetes, evoluindo minhas habilidades e conhecimento na área.


Esses repositórios representam uma fração do meu trabalho e dedicação ao desenvolvimento de soluções escaláveis e inovadoras. Estou sempre buscando aprender e aplicar novos conhecimentos para impulsionar a tecnologia e a automação.

🛠️ Tecnologias e Ferramentas

🏆 Expertise e Tempo de Experiência

  • Suporte e Infraestrutura:

    • Windows Server: Windows Server
    • Linux: Linux
    • ITIL: ITIL
  • DevOps:

    • Docker: Docker
    • Kubernetes: Kubernetes
    • CI/CD: CI/CD
  • Programação e Scripting:

    • Python: Python
    • PowerShell: PowerShell
    • Bash: Bash

🛠️ Tecnologias e Ferramentas

🏆 Expertise e Tempo de Experiência

1. Administração de Sistemas e Infraestrutura

  • Windows Server Windows Server
    • Nível de Conhecimento: Avançado Avançado
  • Linux (Ubuntu, CentOS, RedHat) Linux
    • Nível de Conhecimento: Avançado Avançado
  • ITIL ITIL
    • Nível de Conhecimento: Avançado Avançado
  • Active Directory Active Directory
    • Nível de Conhecimento: Avançado Avançado
  • Virtualização (VMware, Hyper-V) Virtualização
    • Nível de Conhecimento: Intermediário Intermediário

2. DevOps e Automação

  • Docker Docker
    • Nível de Conhecimento: Avançado Avançado
  • Kubernetes Kubernetes
    • Nível de Conhecimento: Avançado Avançado
  • CI/CD (Jenkins, GitLab CI, Travis CI) CI/CD
    • Nível de Conhecimento: Avançado Avançado
  • Terraform Terraform
    • Nível de Conhecimento: Intermediário Intermediário
  • Ansible Ansible
    • Nível de Conhecimento: Intermediário Intermediário
  • Puppet Puppet
    • Nível de Conhecimento: Básico Básico
  • Chef Chef
    • Nível de Conhecimento: Básico Básico

3. Programação e Scripting

  • Python Python
    • Nível de Conhecimento: Avançado Avançado
  • Bash Bash
    • Nível de Conhecimento: Avançado Avançado
  • PowerShell PowerShell
    • Nível de Conhecimento: Avançado Avançado

4. Bancos de Dados e Armazenamento

  • MySQL MySQL
    • Nível de Conhecimento: Intermediário Intermediário
  • PostgreSQL PostgreSQL
    • Nível de Conhecimento: Intermediário Intermediário
  • MongoDB MongoDB
    • Nível de Conhecimento: Básico Básico

5. Redes e Segurança

  • Firewalls (UFW, iptables) Firewalls
    • Nível de Conhecimento: Intermediário Intermediário
  • VPNs (OpenVPN) VPNs
    • Nível de Conhecimento: Intermediário Intermediário
  • Segurança em Linux Segurança Linux
    • Nível de Conhecimento: Intermediário Intermediário

6. Cloud Computing

  • AWS (Amazon Web Services) AWS
    • Nível de Conhecimento: Intermediário Intermediário
  • Azure Azure
    • Nível de Conhecimento: Básico Básico
  • Google Cloud Platform Google Cloud
    • Nível de Conhecimento: Básico Básico

7. Ferramentas de Versionamento e Colaboração

  • Git Git
    • Nível de Conhecimento: Avançado Avançado
  • GitHub GitHub
    • Nível de Conhecimento: Avançado Avançado
  • GitLab GitLab
    • Nível de Conhecimento: Avançado Avançado

8. Ferramentas de Desenvolvimento

  • Visual Studio Code VSCode
    • Nível de Conhecimento: Avançado Avançado

Este bloco contém um resumo detalhado de tecnologias e ferramentas com as quais trabalho. Estou sempre aberto a aprender e experimentar novas ferramentas e tecnologias para manter-me atualizado e eficiente em minha prática profissional.

Se precisar de mais informações ou quiser ajustar algum detalhe, é só me avisar!


📚 Manuais


🔄 Scripts


📚 Procedimentos


💻 Comandos


📖 Outros Recursos


Este repositório será atualizado regularmente com novos materiais e aprimoramentos. Sinta-se à vontade para contribuir com seus próprios scripts, procedimentos e manuais ou sugerir melhorias para os existentes.

About

Portfólio pessoal de conhecimentos atividade 01 até 04 2024

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published