Arquivo da categoria: Linux

Entendendo a arquitetura do kubernetes

Como funciona o Kubernetes

Olá pessoal, mergulhando em outros cenários estamos aprofundando sobre Kubernetes.

Postando agora como funciona a arquitetura do Kubernetes.

Em resumo o Kubernetes é o orquestrador de container onde melhora a gestão dos containers.

Imagina você realizando a gestão de 300 containers na mão.

Imagino que para guardar comandos e manipular na hora de uma urgência seja necessário.

Mas para melhorar processos de trabalhos o k8S (kubernetes) seja essencial para seu trabalho.

Kubernetes Overview:

  • Kubernetes é uma plataforma de gerenciamento de contêineres
  • Criado pelo Google
  • Escrito em Go / GoLang
  • Também conhecido como K8s


     

    Master Node

    Master é o plano de controle ou o cérebro do cluster k8s. Um mestre é composto por alguns componentes:

  • api-serve r – Expõe a API REST para falar com o cluster k8s, consome json, somente o api-server fala com o Cluster Store.
  • Armazenamento de Cluster (KV) – Gerenciamento de estado e configuração de cluster.
  • Agendador – Observa o api-server para novos pods e atribui o nó ao trabalho
  • Controller – Um daemon que observa o estado do cluster para manter o estado desejado.O exemplo é o controlador de replicação, o controlador de espaço de nomes, etc. Além disso, ele executa a coleta de lixo de pods, nós, eventos etc.



  • Kubelet – k8s agente que registra nós com cluster, assiste api-server, instancia pods, reporta de volta ao api-server. Se o pod falhar, ele reporta ao master e o master decide o que fazer. Expõe a porta 10255 no nó
  • Container Engine – Ele faz o gerenciamento de contêineres, como puxar imagens, iniciar / parar contêineres. Normalmente, o Docker é usado para o tempo de execução do contêiner.
  • kube-proxy – Responsável pela rede, Fornecer IP exclusivo para Pods, Todos os contêineres em um pod compartilham o mesmo IP, Saldos de carga em todos os pods em um serviço


    Pods

  • Um ambiente para executar contêineres
  • Tem pilha de rede, namespaces do kernel e um ou mais contêiner em execução
  • Recipiente sempre corre dentro de um pod
  • Pod pode ter vários contêineres
  • É a unidade de escalar em k8s


    Serviços

    Os pods vêm e vão com diferentes IPs. Para distribuir carga e atuar como uma única fonte de interação para todos os pods de um aplicativo, o serviço desempenha o papel.

  • Tem um único IP e DNS
  • Criado com um arquivo JSON de manifesto
  • Todos os novos pods são adicionados / registrados ao serviço
  • Qual pod deve ser atribuído a quais serviços são decididos pelos rótulos
  • serviço e pods têm rótulos com base em qual serviço identifica seus pods
  • envia tráfego apenas para pods saudáveis
  • serviço pode apontar coisas fora do cluster
  • usa o tcp por padrão (o udp também é suportado)


    Deployments ou implantação

    É um objeto k8s cuja tarefa é gerenciar pods idênticos executando e atualizando-os de maneira controlada.

  • Implantado usando o manifesto YAML / JSON
  • Implantado via api-server
  • Fornecer atualização de pods
  • Fornecer reversões


    Arquitetura


    Fluxo Geral

  • O kubectl grava no servidor da API
  • O servidor de API valida a solicitação e a persiste para o armazenamento de cluster (etcd)
  • Armazenamento de Cluster (etcd) notifica o servidor de API de volta
  • O servidor de API chama o agendador
  • O agendador decide onde executar o pod e retorna isso ao servidor de API
  • API Server persiste para o etcd
  • O etcd notifica o servidor da API.
  • O servidor de API chama o Kubelet no nó correspondente
  • Kubelet fala com o daemon do Docker usando a API sobre o soquete do Docker para criar o contêiner
  • Kubelet atualiza o status do pod para o servidor da API
  • API Server persiste o novo estado no etcd

     

    Espero que tenha compreendido e vamos para mais postos sobre Kubernetes.

    Até mais galera.

Apache Guacamole

Olá pessoal.

Estava procurando informações sobre desktop, VDI, VDA, acesso remoto com inteligência, Desktop como serviço e alternativas mais acessíveis para meus clientes.

Me deparei com esta excelente ferramenta. O Projeto excelente chamado Apache Guacamole.

O nome não soa legal em uma visão corporativa, mas quando você instala e configura tudo isso apaga.

O Apache Guacamole é um gateway de desktop remoto sem cliente. Ele suporta protocolos padrão como VNC, RDP e SSH.

É sem cliente porque nenhum plug-in ou software cliente é necessário. Graças ao HTML5, uma vez que o Guacamole é instalado em um servidor, tudo que você precisa para acessar seus desktops é um navegador da web.

Veja o modelo instalei e que criei no Azure abaixo:

Como o cliente Guacamole é um aplicativo da Web HTML5, o uso de seus computadores não está vinculado a nenhum dispositivo ou local. Contanto que você tenha acesso a um navegador da Web, você terá acesso às suas máquinas.


Os desktops acessados ​​através do Guacamole não precisam existir fisicamente. Com o Guacamole e um sistema operacional de desktop hospedado na nuvem, você pode combinar a conveniência do Guacamole com a resiliência e a flexibilidade da computação em nuvem.

Fonte livre e aberta

O Apache Guacamole é e sempre será um software livre e de código aberto . Ele é licenciado sob a Licença Apache, Versão 2.0 , e é mantido ativamente por uma comunidade de desenvolvedores que usam o Guacamole para acessar seus próprios ambientes de desenvolvimento.

Construído em uma API bem documentada

O Apache Guacamole é construído com base em sua própria APIs, que são documentadas detalhadamente , incluindo tutoriais básicos e visões gerais conceituais no manual on – line . Essas APIs permitem que o Guacamole seja totalmente integrado a outras aplicações, sejam elas de código aberto ou proprietárias.

Aqui no Brasil ainda não é muito difundido.

Sua interface é bem simples


Totalmente baseado em HTML5

Esta é uma demonstração oficial do site de uso do Guacamole.

Esta é uma demonstração que fiz que esta neste link.
https://1drv.ms/v/s!An-dPolj_Ee_hdc1qLvHHCudRXaFmw

Este eu fiz no Azure e integrei com o Office 365 através do AIP para acesso condicional.
Veja a arquitetura do ambiente.

 

O guacd

O guacd é o coração do Guacamole que carrega dinamicamente o suporte para protocolos de área de trabalho remota (chamado de “plug-ins de cliente”) e os conecta a áreas de trabalho remotas com base nas instruções recebidas do aplicativo da web.

O guacd é um processo daemon que é instalado junto com o Guacamole e é executado em segundo plano, escutando as conexões TCP do aplicativo da web. O guacd também não entende nenhum protocolo de desktop remoto específico, mas implementa apenas o suficiente do protocolo Guacamole para determinar qual suporte de protocolo precisa ser carregado e quais argumentos devem ser passados para ele. Uma vez que um plugin do cliente é carregado, ele é executado independentemente do guacd e tem controle total da comunicação entre ele e o aplicativo da web até que o plugin do cliente seja encerrado.

O guacd e todos os plug-ins do cliente dependem de uma biblioteca comum, o libguac, que torna a comunicação via protocolo Guacamole mais fácil e um pouco mais abstrata.

Para instalar é bem simples.

Segue o processo de implantação oficial do Apache Guacamole Servidor em outro sistema Linux, que não seja o Ubuntu, recomendo usar a documentação oficial como referência de instalação.

Para fazer download do script de instalação no Ubuntu 16.04:

wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-install.sh

Conceder permissão de execução:

chmod +x guac-install.sh

Executar script:

sudo ./guac-install.sh

O basico para instalação após o acesso é acessar URL http://IP:8080/guacamole – com usuário e senha padrão guacadmin

001.PNG

No menu de connection você pode inserir o desktop ou servidor que você quer acessar.

002

É só inserir um nova conexão RDP, SSH ou VNC para que você possa acessar via browser e montar seu próprio ambiente.

0021

As configurações são bem simples para acesso via web.

Mas ele tem configurações para impressoras, armazenamento em resumo.

005

Este é o menu de preferencias.

AZURE.

Eu fiz uma instalação no Azure através do git.

Em resumo foi uma maquina para o Guacamole e outra maquina Windows 10 Enterprise para acessar via Browser.

006

 

12Veja a Matrix dentro da Matrix.

 

Veja neste links.

https://github.com/silvapfabio/azure-quickstart-templates

https://azure.microsoft.com/en-us/resources/templates/guacamole-rdp-vnc-gateway-existing-vnet/

Fiz algumas alterações no arquivo .json ao meu “paladar” claro, mas é bem simples.

Dando as honras para o Gabriel Nepomuceno que foi um orientador.

Embreve irei mostrar funcionando no RaspberriPy como um Thinclient para acesso via web com Guacamole e outros protocolos como Citrix e RDP.

Independente ele funciona em qualquer ambiente cloud como AWS e também local.

Eu espero que tenha gostado.

Até mais

 

 

Terraform, sua infraestrutura como código.

terraform

Olá pessoal

Estive pesquisando e testando varias ferramentas para agilidade em infraestrutura com enfase em praticas devops.

As ferramentas que tive contato direto e usei foi VSTS no visual Studio que é sensacional, sou suspeito em falar da ferramenta, Ansible que também é sensacional, muito fácil de utilizar.

A grata surpresa foi quando testei a ferramenta da HashiCorp, Terraform.

Minha pesquisa foi por que a administração em ambientes grandes de cloud com acesso a Azure, AWS e Google começa a ter um certo nível de detalhe e camadas de configuração, e até ter um nível bom em segurança da informação para compliances.

Isso é sério e algumas empresas levam a sério como bancos os níveis de acesso e credenciais de acesso a ambientes e níveis de funções como em ambiente de desenvolvimento, em infraestrutura e outros.

Terraform é uma ferramenta para construir, alterar e infra-estrutura de versões com segurança e eficiência em forma de código altamente facil.
O Terraform pode gerenciar varios provedores de serviços em cloud, hibridos e baremetal existentes e populares, como Cloud Computing em Azure, AWS, Google cloud, Oracle Cloud e Digital Ocean, bem como soluções internas personalizadas de datacenter como Openstack, Vmaware e Hyper-V.

O Terraform é capaz de determinar o que mudou e criar planos de execução incremental que podem ser aplicados.

Importante que você tem os versionamentos de mudanças da infraestrutura. Ambientes onde é feito via Gerenciamento de Mudanças você pode criar histórico de relatórios onde a equipe de governança terá total respaldo e controle melhor.

Em tempos de ambientes ágeis o Terraform se torna uma poderosa ferramenta inteligente.

A infraestrutura que o Terraform pode gerenciar inclui componentes de baixo nível, como instâncias de computação, armazenamento e rede, além de componentes de alto nível, como entradas de DNS, recursos de SaaS etc.

Infraestrutura como Código

A infra-estrutura é descrita usando uma sintaxe de configuração de alto nível. Isso permite que um modelo construído do seu data center seja versionado e tratado como você faria com qualquer outro código. Além disso, a infraestrutura pode compartilhada e reutilizada.

Gráfico de recursos

O Terraform constrói um gráfico de todos os seus recursos e paraleliza a criação e modificação de quaisquer recursos não dependentes. Por isso, o Terraform constrói a infraestrutura da maneira mais eficiente possível, e os operadores obtêm insights sobre as dependências de sua infraestrutura.

Automação de Mudança

Os changesets complexos podem ser aplicados à sua infraestrutura com interação humana mínima. Com o plano de execução e o gráfico de recursos mencionados anteriormente, você sabe exatamente o que o Terraform mudará e em que ordem, evitando muitos possíveis erros humanos.

Com um olhar de segurança da informação, seu ambiente de virtualização, hibrido ou em cloud terá o minimo de acesso e o máximo de eficiência e produtividade com segurança.

Terraform vs. concorrentes

O Terraform fornece uma abstração flexível de recursos e provedores. Esse modelo permite representar tudo, desde hardware físico, máquinas virtuais e contêineres, até provedores de e-mail e DNS. Devido a essa flexibilidade, o Terraform pode ser usado para resolver muitos problemas diferentes. Isso significa que existem várias ferramentas existentes que se sobrepõem às capacidades do Terraform. Nós comparamos o Terraform a várias dessas ferramentas, mas deve-se notar que o Terraform não exclusivo com outros sistemas. Pode ser usado para gerenciar um único aplicativo ou o datacenter inteiro.

Veja o comparativo no próprio site do Terraform

https://www.terraform.io/intro/vs/chef-puppet.html

https://www.terraform.io/intro/vs/cloudformation.html

Implantação Multi-Cloud

infraestrutura multi nuven para aumentar a tolerância a falhas. A realização de implantações multi nuvem pode ser muito desafiadora, pois muitas ferramentas existentes para gerenciamento de infraestrutura são específicas da nuvem. O Terraform é agnóstico foi que me interessou e de fácil assimilação, em relação à nuvem e permite que uma única configuração seja usada para gerenciar vários provedores e até mesmo para lidar com dependências entre nuvens. Isso simplifica o gerenciamento e a orquestração, ajudando as operadoras a construir infraestruturas de várias nuvens em grande escala.

Instalação

O Terraform além de ser mutinuvem, hibrido e baremetal ele tem compatibilidade com vários sistema operacionais.

https://www.terraform.io/downloads.html

versoes

Obviamente você utilizará a versão que você mais se familiariza.

Eu vou demonstrar abaixo bem simples no Ubuntu e no Azure que tem pronto no Marketplace.

Ubuntu:

Baixe a versão que está no site

Se não tiver a versão do gunzip e wget ja baixe

apt-get install gunzip wget
wget https://releases.hashicorp.com/terraform/0.11.7/terraform_0.11.7_linux_amd64.zip
unzip terra*

Mova os binários para a pasta /usr/local/bin/
mv terraform /usr/local/bin/
terraform --version

Esta é a forma de usar no ubuntu.

Agora vamos para o Azure.

terraformazure001

Faça a busca do terraform e escolha a maquina virtual.

terraformazure002

Leia atentamente as instruções da maquina virtual do Marketplace.

terraformazure003

Complete as instruções de usuário e senha, localidade, nome da maquina e grupo de recursos do Azure.

terraformazure004

Neste passo é sugerido este modelo de maquina virtual do Terraform, então mantenha ou veja modelos equivalentes.

terraformazure005

Confirme os parâmetro de provisionamento e aguarde as instalações do Terraform.

terraformazure006

Agora só aguardar.

terraformazure007

Maquina instalada com sucesso e vamos acessar.

terraformazure008

Terraform devidamente provisionado e pronto para o uso. Vamos mostrar um modelo de criação de uma maquina no Azure através do Terraform

Para o funcionamento correto do Terraform no Azure instale o pacote do Azure CLI na maquina.

https://docs.microsoft.com/pt-br/cli/azure/install-azure-cli-apt?view=azure-cli-latest

O modelo de template para criação da maquina virtual está aqui abaixo:

Leia o resto deste post

Skype for business no Linux? Sim com Pidgin!

Olá pessoal

Antes de qualquer coisa trabalhei com linux por muito tempo.

Nem sabia que era Microsoft. Nos tempo áureos de datacenter, rack, cage, apache, e um montão de coisas e experiências legais com toda certeza meu deu expertise para usar até hoje em projetos de cloud com linux.

Mas o que eu fiz, foi instalar o Pidgin no linux e usar o Skype for business. Isso mesmo.

Usar Skype for business pacote do Office 365 no Linux.

Utilizei o sistema operacional Elementary, que é variação de sistemas .deb como Ubuntu e Debian.

Alias este post foi feito todo no linux.

Captura de tela de 2018-04-23 22.09.16

O Elementary tem uma central de instalação chamada de Central de Aplicativos, mas não vem ao caso por que por traz tem o terminal ou console como queira usar.

No terminal instale via apt:

sudo apt-get install pidgin

sudo apt-get install pidgin-sipe

“sipe é o pacote de plugin para que no pidgin para que ele tenha suporte ao SIP do Skype for business do Office 365” Leia o resto deste post

Zerodium premio de $45k

Zero-day

A empresa Zerodium está oferecendo US$ 45.000 para hackers dispostos encontrar vulnerabilidades de zero day no  Linux.

O programa de  exploração privada anunciou a recompensas no Twitter . Até 31 de março, a Zerodium está disposta a oferecer pagamentos de até US$ 45.000 para explorações locais de escalonamento de privilégios (LPE).

As vulnerabilidades de zero day, não relatadas, devem funcionar com instalações padrão do Linux, como as populares plataformas Ubuntu, Debian, CentOS, Red Hat Enterprise Linux (RHEL) e Fedora.

O Zerodium difere de muitas empresas que procuram ajuda externa para descobrir vulnerabilidades. Enquanto muitos fornecedores de tecnologia, incluindo Google, Apple e Microsoft, muitas vezes oferecem recompensas financeiras para relatórios de erros válidos, esses relatórios são usados ​​para corrigir o software e proteger os dispositivos do usuário de um compromisso.

A empresa adota vulnerabilidades em uma ampla gama de dispositivos e sistemas operacionais de destino – como o Microsoft Windows, o Google Chrome, o Android, o Apple OS X e vários servidores de e-mail – para vender essas informações de forma privada aos clientes; individualmente, ou através do feed de pesquisa do dia zero da empresa.

Os clientes podem incluir agências governamentais que exigem explorações para fins, incluindo quebra de criptografia de dispositivo ou realização de vigilância.

Dependendo da demanda do mercado, o vendedor de explorações ofereceu recompensas que atingiram mais de um milhão de dólares no passado. Em 2015, a empresa ofereceu US $ 1,5 milhão para explorar as façanhas do iOS 10.

Ao longo do ano passado, os governos pediram intervenções em portas de aplicativos criptografados e serviços de criptografia de ponta a ponta. Considerando esta mudança nas prioridades do governo, o Zerodium aumentou os pagamentos de recompensas em 2017 até US $ 500.000 para falhas de zero dias em aplicativos criptografados , como iMessage, Telegram e WhatsApp.

O aumento no preço das vulnerabilidades do Linux sugere que pode haver uma alta demanda no mercado no momento.

O Zerodium geralmente oferece até US $ 30.000 para uma vulnerabilidade do dia zero do Linux, mas para aumentar as submissões, isso agora aumentou em US $ 15.000 até o prazo.

A fonte é do site ZDNET

Exame

Notícias do Brasil e do Mundo. Economia, Política, Finanças e mais. ➤ Entrevistas, Análises e Opinião de quem entende do Assunto! ➤ Acesse!

Project THOR

Technical and Human infrastructure for Open Research

randieri.com

Il blog di Cristian Randieri

TEC OFFICE PRODUTIVO

Tec Office Produtivo é um grupo de treinamentos, dicas e tutorias de informática sobre aplicativos utilizados em escritórios.

GOLD RECIPES.

GOLD RECIPES.

Escadas Especiais

Projetos, fabricação e instalação de escadas em geral

Jaqueline Ramos

Devops & Cloud

%d blogueiros gostam disto: