Login / Registre-se Account
Jump to section

O que é um cluster Kubernetes?

Copiar URL

O cluster do Kubernetes é um conjunto de máquinas de nós usado para executar aplicações em container. Quando você executa o Kubernetes, está executando um cluster.

No mínimo, um cluster contém um plano de controle e pelo menos uma máquina ou nó de computação. O plano de controle é responsável por manter o estado desejado do cluster. Por exemplo, as aplicações que estão sendo executadas e as imagens de container que elas usam. São os nós que de fato executam as aplicações e as cargas de trabalho.

O cluster é o que proporciona a principal vantagem do Kubernetes: a capacidade de programar e executar containers em um conjunto de máquinas físicas, virtuais, on-premise ou na nuvem. Os containers do Kubernetes não estão vinculados a máquinas individuais. Na verdade, eles são abstraídos em todo o cluster.

O cluster Kubernetes tem um estado desejado, que 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 relacionados.

O estado desejado é definido por arquivos de configuração formados por manifesto – arquivos JSON ou YAML que declaram o tipo de aplicação a ser executado e quantas réplicas são exigidas para manter a integridade do sistema.

O estado desejado do cluster é definido por meio da API do Kubernetes. Isso pode ser feito por meio da linha de comando (usando o kubectl) ou da API, que permite interagir com o cluster para configurar ou modificar o estado desejado.

O Kubernetes controlará o cluster automaticamente para corresponder às suas definições. Por exemplo, 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 Kubernetes perceberá que apenas duas réplicas estão em execução. Assim, ele adicionará mais uma para corresponder ao estado desejado.

Também é possível usar padrões do Kubernetes para gerenciar a escala do cluster automaticamente com base na carga. 

Qual é a relação do cluster com um nó, pod ou outros termos referentes ao Kubernetes?

Definimos o cluster como um conjunto de nós. Vejamos outros termos relacionados ao Kubernetes para entender a finalidade do cluster.

Plano de controle: conjunto de processos que controlam os nós do Kubernetes. É nele que todas as atribuições de tarefas se originam.

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.

Volume: diretório de dados que pode ser acessado pelos containers em um pod. O volume do Kubernetes e o pod que o inclui têm o mesmo prazo de validade. O volume tem um ciclo de vida maior do que os containers executados no pod. Além disso, os dados são preservados quando um container é reiniciado.

Namespace: um cluster virtual. Com os namespaces, o Kubernetes gerencia vários clusters (de diversas equipes ou projetos) no mesmo cluster físico.

Com as aplicações nativas em nuvem modernas, os ambientes do Kubernetes estão se tornando altamente distribuídos. Eles podem ser implantados em vários datacenters on-premise, na nuvem pública e na edge.

As organizações que optarem por usar o Kubernetes em escala ou na produção terão vários clusters, por exemplo, para desenvolvimento, teste e produção, distribuídos dentre os ambientes. Assim, elas precisarão ser capazes de gerenciá-los de maneira efetiva.

O gerenciamento de cluster Kubernetes é a forma como uma equipe de TI gerencia um grupo de clusters do Kubernetes. 

A Red Hat é uma empresa líder do setor e participa ativamente do desenvolvimento de tecnologias de containers open source, incluindo o Kubernetes. Criamos ferramentas essenciais para proteger, simplificar e atualizar automaticamente as infraestruturas de container. 

O Red Hat® OpenShift® é uma distribuição Kubernetes de nível empresarial. Ele fornece uma plataforma única e integrada para equipes de operações e desenvolvimento. Com o Red Hat OpenShift, os desenvolvedores podem escolher as linguagens, os frameworks, middlewares e bancos de dados que quiserem. Eles também podem criar e implantar a automação por meio da CI/CD para alavancar a produtividade.

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

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

Red Hat OpenShift product logo

Desenvolva, implante e gerencie containers em qualquer ambiente e escala.