PuTTY, Docker e Kubernetes: Guia de Conteinerização PDF

Summary

Este documento explora o PuTTY, Docker e Kubernetes, ferramentas-chave para conteinerização. Aborda o conceito de conteinerização, o uso do Docker para criar e gerenciar contêineres e o Kubernetes para orquestrar vários contêineres. Ele também fornece uma visão geral dos comandos Docker e compara Docker e Kubernetes.

Full Transcript

O PuTTY é um software de emulação de terminal gratuito e de código livre. Permite o acesso remoto a servidores via shell(linha de comandos) seguro e a construção de "túneis" cifrados entre servidores utilizando o protocolo SSH. O SSH, ou Secure Shell, é um protocolo seguro que ut...

O PuTTY é um software de emulação de terminal gratuito e de código livre. Permite o acesso remoto a servidores via shell(linha de comandos) seguro e a construção de "túneis" cifrados entre servidores utilizando o protocolo SSH. O SSH, ou Secure Shell, é um protocolo seguro que utiliza a porta 22, para que haja a conexão, como por exemplo no Linux, é necessário estar instalado e ativado. O Putty está disponível apenas para os sistemas operacionais Window e Linux. Docker É um conjunto de produtos de plataforma como serviço (PaaS) que usam virtualização de nível de sistema operacional para entregar software em pacotes chamados contêineres. Os contêineres são isolados uns dos outros e agrupam seus próprios softwares, bibliotecas e arquivos de configuração. Todos os contêineres são executados por um único kernel do sistema operacional e, portanto, usam menos recursos do que as máquinas virtuais. Um container do Docker é um exemplo de aplicação que contém todas as bibliotecas e componentes necessários para uma aplicação funcionar. Um container do Docker é gerado de uma imagem, que é o resultado da aplicação ou do serviço empacotado. Ele pode conter um sistema operacional inteiro ou aplicações pré-instaladas. Dito isso, é a partir da imagem que o container vai começar a funcionar. Existem muitas imagens Docker disponíveis, também podemos criar nossas próprias imagens e expandir as possibilidades dessa ótima aplicação. O Sistema Operacional que hospeda os contêineres é denominado Docker Engine. Imagem representando as diferenças entre Maquinas Virtuais e Conteineres. Comandos do docker docker attach – Anexar padrões locais de entrada, saída e streams de erro para um container em execução docker build – Construir uma imagem a partir de um Dockerfile docker builder – Gerenciar builds docker checkpoint – Gerenciar checkpoints docker commit – Criar uma nova imagem a partir das mudanças de um container docker config – Gerenciar configurações do Docker docker container – Gerenciar containers docker context – Gerenciar contextos docker cp – Coipar arquivos/pastas entre um container e um sistema de arquivos local docker create – Criar um novo container docker diff – Inspecionar mudanças de arquivos ou diretórios no sistema de arquivos de um container docker events – Obter eventos em tempo real do servidor docker exec – Executar um comando num container em execução docker export – Exportar o arquivo de sistemas de um container como arquivo tar docker history – Exibir o histórico de uma imagem docker image – Gerenciar images docker images – Listar images docker import – Importar os conteúdos de uma tarball para criar uma imagem de arquivo de sistema docker info – Exibir informações de todo o sistema docker inspect – Retornar informações de baixo nível sobre os objetos do Docker docker kill – Finalizar um ou mais containers em execução docker load – Carregar uma imagem a partir de um arquivo tar ou STDIN docker login – Fazer login para um registro do Docker docker logout – Fazer logout de um registro do Docker docker logs – Obter os registros de um container docker manifest – Gerenciar os manifestos de imagens e manifestos de listas do Docker docker network – Gerenciar redes docker node – Gerenciar Swarm nodes docker pause – Pausar todos os processos dentro de um ou mais containers docker plugin – Gerenciar plugins docker port – Listar mapeamentos de portas ou mapeamentos específicos para um container docker ps – Listar containers docker pull – Puxar uma imagem ou repositório a partir de um registro docker push – Empurrar uma imagem ou repositório para um registro docker rename – Renomear um container docker restart – Reiniciar um ou mais containers docker rm – Remover um ou mais containers docker rmi – Remover uma ou mais images docker run – Executar um comando num novo container docker save – Salvar uma ou mais imagens num arquivo tar (enviado para STDOUT por padrão) docker search – Buscar o Hub do Docker por mais imagens docker secret – Gerenciar segredos do Docker docker service – Gerenciar serviços docker stack – Gerenciar stacks docker start – Iniciar um ou mais containers parados docker stats – Exibir uma transmissão ao vivo das estatísticas de uso de container(s) docker stop – Finalizar um ou mais containers que estão sendo executados docker swarm – Gerenciar Swarm docker system – Gerenciar Docker docker tag – Criar uma tag TARGET_IMAGE que se refere a SOURCE_IMAGE docker top – Exibir os processos em execução num container docker trust – Gerenciar o trust nas imagens Docker docker unpause – Despausar todos os processos dentro de um ou mais containers docker update – Atualizar configuração de um ou mais containers docker version – Mostrar informações de versão do Docker docker volume – Gerenciar volumes docker wait – Bloquear até um ou mais containers pararem, e então imprimir seus códigos de saída Para baixar imagens prontas e criar imagens personalizadas, podemos utilizar o docker hub através do link. Para instalar o docker no Linux Ubuntu link. Site oficial do docker link. Site da documentação do docker link. Kubernetes ou K8s É um sistema de código aberto que automatiza a implantação, o dimensionamento e a gestão de aplicações conteinerizadas. É uma plataforma que pode ser usada em qualquer lugar, seja num cluster local, numa arquitetura híbrida ou na nuvem. Permite programar e executar contêineres em máquinas físicas, virtuais, na nuvem ou on-premises. As Big techs como a Amazon possue a EKS, a Google possui a Kubernetes Engine (GKE) e a Microsoft a Azure Kubernetes Service (AKS), essas infraestruturas estão espalhados em diversas parte do planeta. Um cluster Kubernetes é um conjunto de máquinas de uma infraestrutura que executam aplicações em contêineres. Componentes de um cluster Kubernetes Nós: As máquinas que executam as aplicações e as cargas de trabalho. Plano de controle: Mantem o estado desejado do cluster, como as aplicações em execução e as imagens de contêiner. Pods: Os componentes de uma aplicação que contêm um ou mais contêineres. Dockers vs Kubernetes O Docker é uma plataforma para criar e executar contêineres, enquanto o Kubernetes é uma plataforma para gerenciar contêineres em escala. Ambos são ferramentas essenciais para a conteinerização. Docker Kubernetes Finalidade Criar e executar contêineres Gerenciar contêineres em escala Uso Desenvolvimento local e aplicativos leves Sistemas de produção em grande escala Características Ideal para execução de containers Orquestra grandes quantidades de containers individualmente em produção Pods, replicas sets, deployments e service de um kubernetes Pods: O que são Pods? Um pod é a unidade mais simples no ecossistema do Kubernetes. Ele representa um único processo em um cluster Kubernetes. Um pod pode conter um ou mais containers que compartilham o mesmo espaço de rede, armazenamento e contexto. Os containers em um pod geralmente trabalham juntos para executar uma aplicação específica. ReplicaSets: O que são ReplicaSets? Um ReplicaSet é um controlador no Kubernetes que garante que um número especificado de réplicas (ou cópias) de um pod esteja sempre em execução no cluster. Se algum dos pods falhar ou for excluído, o ReplicaSet criará automaticamente um novo para manter o número desejado de réplicas. Deployments: O que são Deployments? Um Deployment é um recurso Kubernetes que gerencia a implantação de aplicativos em um cluster. Ele é usado para definir como um aplicativo é implantado, atualizado e escalado. Um Deployment pode controlar um ou vários ReplicaSets, permitindo a implantação de novas versões de aplicativos com facilidade. Services: O que são Services? Um Service é um recurso Kubernetes que define um conjunto lógico de pods e uma política de acesso a esses pods. Ele atua como um balanceador de carga interno para os pods, fornecendo um ponto de acesso único para os clientes acessarem os pods, independentemente de quais nodes do cluster eles estejam em execução. Existem diferentes tipos de serviços, incluindo Service de ClusterIP, NodePort e LoadBalancer. Resumindo: Pods são a menor unidade em Kubernetes, contendo um ou mais containers. ReplicaSets garantem que um número específico de pods esteja em execução. Deployments gerenciam a implantação e atualização de aplicativos. Services fornecem acesso a um conjunto de pods de maneira uniforme. Para instalar o kubernetes no Linux Ubuntu Server link. Site oficial do kubernetes link. Site da documentação do kubernetes link.