Login / Registre-se Account

Containers

Aprenda o básico sobre o Kubernetes

Com os containers, os desenvolvedores podem se concentrar em suas aplicações enquanto a equipe de operações cuida da infraestrutura. E a orquestração de containers permite gerenciar implantações por toda a empresa.

O Kubernetes é uma plataforma de orquestração de containers open source que automatiza grande parte dos processos manuais necessários para implantar, gerenciar e escalar aplicações em containers.

Com ele, você fornece e gerencia em escala aplicações nativas em nuvem, legadas e em container, além daquelas que estão sendo refatoradas em microsserviços em diferentes ambientes. Isso inclui a nuvem privada e os principais provedores de nuvem pública, como a Amazon Web Services (AWS), Google Cloud, IBM Cloud e Microsoft Azure.

 

Arquitetura do Kubernetes

O Kubernetes oferece uma plataforma para que você possa programar e executar containers em clusters de máquinas físicas ou virtuais. A arquitetura do Kubernetes divide um cluster em componentes que trabalham em conjunto para manter o estado definido dele.

O cluster do Kubernetes é um conjunto de máquinas de nós usado para executar aplicações em container. Ele é dividido em duas partes: o plano de controle e as máquinas de computação (ou nós). Cada nó tem o próprio ambiente Linux®, que pode ser físico ou uma máquina virtual. Os nós executam pods, que são formados por containers.

A API (interface de programação de aplicações) do Kubernetes é o front-end do plano de controle e o meio pelo qual os usuários interagem com os clusters desse serviço. O servidor da API determina se uma solicitação é válida e a processa.

A API é a interface usada para gerenciar, criar e configurar clusters do Kubernetes. É como usuários, componentes externos e elementos dos clusters se comunicam uns com os outros.

Neste tutorial rápido sobre o Kubernetes, você aprende a criar um cluster e implantar uma aplicação. 

 

Outros componentes do cluster do Kubernetes

Nós:
máquinas que realizam as tarefas solicitadas, atribuídas pelo plano de controle.

Pod:
um ou mais containers implantados em um nó. O pod é o menor e mais simples objeto do Kubernetes.

Serviço:
maneira de expor como serviço de rede uma aplicação executada em um conjunto de pods. Ele dissocia as definições de trabalho dos pods.

Kubectl:
interface de linha de comando usada para gerenciar o cluster do Kubernetes. Veja os comandos básicos do Helm e kubectl, simplificados para iniciantes.

kubelet:
pequena aplicação localizada em cada nó que se comunica com o plano de controle. O kubelet assegura que os containers estejam em execução em um pod.

Se quiser experimentar o Kubernetes, use o Minikube. Com essa ferramenta open source, você configura um cluster local do Kubernetes para poder testá-lo em um notebook.

 

Como o Kubernetes funciona?

O funcionamento do Kubernetes é baseado no estado real e no definido. Os objetos representam o estado de um cluster e informam ao Kubernetes como será a carga de trabalho.

Depois que você cria e define um objeto, o Kubernetes trabalha para assegurar que ele sempre exista. 

Os controladores gerenciam ativamente o estado dos objetos e fazem as alterações necessárias para que o cluster vá do estado atual para o desejado. 

Para especificar o estado desejado, os desenvolvedores ou administradores de sistemas usam arquivos YAML ou JSON enviados à API do Kubernetes. O controlador é utilizado pelo Kubernetes para analisar a diferença entre os estados definido e real no cluster.

O estado desejado do cluster do Kubernetes define quais aplicações ou outras cargas de trabalho serão executadas, as imagens que elas usarão, os recursos disponibilizados para elas e outros detalhes de configuração.

O etcd é um banco de dados de armazenamento de chave/valor que contém as informações e dados de configuração sobre o estado do cluster. O etcd, distribuído e tolerante a falhas, foi projetado para ser a principal fonte de informações sobre o cluster.

O Kubernetes gerencia o cluster automaticamente para que ele corresponda ao estado desejado. Para isso, os controladores geralmente enviam mensagens ao servidor de API que geram as mudanças necessárias. Além disso, alguns recursos do Kubernetes têm controladores integrados.

Vejamos um exemplo de como o Kubernetes gerencia o estado desejado. Imagine que você tenha implantado uma aplicação com o estado desejado "3". Ou seja, isso indica que três réplicas da aplicação precisam ser executadas.

Se um desses containers falhar, o conjunto de réplicas do Kubernetes perceberá que apenas duas réplicas estão em execução. Assim, ele adicionará mais uma para corresponder ao estado desejado.

Os conjuntos de réplicas são um tipo de controlador que assegura a execução de uma quantidade especificada de pods em um determinado momento.

As implantações do Kubernetes são o método mais usado para gerenciar conjuntos de réplicas. Elas realizam atualizações declarativas nos pods para que você não precise gerenciá-los manualmente. 

Você também pode usar o escalonamento automático para gerenciar a escala dos seus serviços com base na demanda do usuário. Ao especificar o estado desejado de uma aplicação ou serviço, você ainda pode definir o controlador para disponibilizar mais pods se a demanda aumentar.

Por exemplo, durante um período de alta demanda, o estado desejado da aplicação pode aumentar para 10, em vez de ficar na quantidade comum de três réplicas.

 

Implantações do Kubernetes

Uma implantação do Kubernetes é um objeto de recurso que oferece atualizações declarativas para aplicações.

Além disso, ela permite descrever o ciclo de vida das aplicações, incluindo quais imagens usar, o número de pods necessários e como devem ser feitas as atualizações. 

A atualização manual de aplicações em container pode ser um processo demorado e tedioso. O uso de uma implantação do Kubernetes torna o processo automatizado e reproduzível. 

As implantações são totalmente gerenciadas pelo back-end do Kubernetes, e todo o processo de atualização é executado no lado do servidor, sem interação do cliente.

Com um objeto de implantação do Kubernetes, você pode:

  • Implantar um pod ou conjunto de réplicas
  • Atualizar pods e conjuntos de réplicas
  • Reverter para versões anteriores da implantação
  • Escalar implantações
  • Pausar ou continuar uma implantação

 

Padrões do Kubernetes

Os padrões para Kubernetes são padrões de design para aplicações e serviços baseados em container.  

Com o Kubernetes, os desenvolvedores gravam aplicações nativas em nuvem, além de oferecer ferramentas e uma biblioteca de interfaces de programação de aplicações (APIs). 

No entanto, o Kubernetes não oferece aos desenvolvedores e arquitetos diretrizes de como usá-lo para criar um sistema completo que atenda às necessidades e aos objetivos dos negócios. 

Padrões são uma maneira de reutilizar arquiteturas. Em vez de criar a arquitetura do zero, use os padrões do Kubernetes atuais para que tudo funcione da maneira correta.

Os padrões são ferramentas necessárias para os desenvolvedores do Kubernetes e mostram como criar o sistema.

 

Operadores do Kubernetes 

O operador do Kubernetes é um método de empacotar, implantar e gerenciar aplicações do Kubernetes. Uma aplicação do Kubernetes é implantada e gerenciada usando a API do Kubernetes e o conjunto de ferramentas kubectl.

O operador é um controlador específico para aplicações que amplia as funcionalidades da API do Kubernetes para criar, configurar e gerenciar instâncias de aplicações complexas para um usuário do Kubernetes.

Saiba como criar um operador do Kubernetes em 10 minutos usando o Operator SDK.

O operador é baseado nos conceitos básicos de controlador e recursos do Kubernetes. No entanto, ele inclui o conhecimento específico de uma aplicação ou domínio para automatizar o ciclo de vida inteiro do software que gerencia.

Se quiser saber mais sobre os operadores do Kubernetes e por que eles são importantes, veja este artigo simples e direto .

Com os operadores, você grava códigos para automatizar tarefas não incluídas nas funcionalidades de automação básicas do Kubernetes. Para as equipes que seguem abordagens de DevOps ou de engenharia de confiabilidade de sites (SRE), os operadores foram desenvolvidos para a incorporação de práticas de SRE ao Kubernetes. 

Saiba mais sobre como os operadores do Kubernetes funcionam, incluindo exemplos reais, e aprenda a criá-los com o Operator Framework e o kit de desenvolvimento de software.

 

Adote o DevOps com o Kubernetes

O DevOps depende da automação de tarefas operacionais rotineiras e da padronização dos ambientes envolvidos em todo o ciclo de vida das aplicações.

Os containers dão suporte a um ambiente unificado para desenvolvimento, fornecimento e automação, além de facilitar a transição das aplicações entre os ambientes de desenvolvimento, teste e produção.

Um dos principais resultados da implementação do DevOps é o pipeline de integração e implantação contínuas (CI/CD). Com as práticas de CI/CD, é possível disponibilizar aplicações para os clientes com maior frequência e validar a qualidade delas com o mínimo de intervenção humana.

Ao gerenciar o ciclo de vida dos containers com operadores e implantações do Kubernetes, e adotando uma abordagem de DevOps, você alinha as equipes de operações de TI às de desenvolvimento de software para possibilitar um pipeline de CI/CD.

 

Faça os treinamentos em Kubernetes

Deploying Containerized Applications Tech Overview 

Esta é uma série sob demanda que inclui aulas rápidas e demonstrações aprofundadas. Trata-se de uma introdução aos containers Linux e à tecnologia de orquestração de containers usando Docker, Kubernetes e Red Hat® OpenShift® Container Platform.

 

Red Hat OpenShift Administration 

Neste curso, você aprenderá a instalar e administrar o Red Hat OpenShift Container Platform. É um curso prático baseado em laboratório que mostra como instalar, configurar e gerenciar clusters do OpenShift, bem como implantar amostras de aplicações para que você entenda melhor como os desenvolvedores usarão a plataforma.

 

Introduction to OpenShift Applications

Este curso é voltado para os desenvolvedores e oferece uma introdução à criação, implantação, escala e solução de problemas de aplicações no Red Hat OpenShift. À medida que o OpenShift e o Kubernetes continuam sendo amplamente adotados, é importante que os desenvolvedores entendam melhor como desenvolver, criar e implantar aplicações com uma plataforma de aplicações em container.

 

Kubernetes para empresas 

O Red Hat OpenShift é uma solução Kubernetes para empresas. Ele oferece todos os elementos extras que tornam o Kubernetes potente e viável para as empresas, incluindo componentes de registro, rede, telemetria, segurança, automação e serviços.

Com o Red Hat OpenShift, os desenvolvedores podem criar novas aplicações em containers, hospedá-las e implantá-las na nuvem. Tudo isso com a escalabilidade, o controle e a orquestração necessários para transformar boas ideias em negócios valiosos de forma rápida e fácil.

Aproveite a avaliação gratuita por 60 dias para testar o Red Hat OpenShift e automatizar suas operações de container.

As ferramentas que você precisa para começar a usar o Kubernetes agora mesmo

Red Hat OpenShift product logo

Desenvolva, implante e gerencie containers com o Kubernetes empresarial em qualquer ambiente e escala.

Controle aplicações e clusters do Kubernetes usando um único console com políticas de segurança integradas. 

Você pode fazer muito mais com Kubernetes