Cluster Kubernetes

Copiar URL

Um 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 de todo o cluster.

O cluster do Kubernetes possui 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. 

Recursos da Red Hat

O cluster é definido 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 modernas aplicações nativas em nuvem, 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 conseguir gerenciá-los de maneira efetiva.

O gerenciamento de cluster do Kubernetes é 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.

Com o OpenShift, você pode usar o Red Hat Advanced Cluster Management e o Red Hat Ansible® Automation Platform juntos para implantar e gerenciar clusters do Kubernetes em ambientes de nuvem pública, on-premise ou de edge computing com eficiência.

Como a Red Hat pode ajudar a criar e automatizar ambientes híbridos

 

Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

What is the Kubernetes Java client?

The Kubernetes Java client is a client library that enables the use of the Java programming language to interface with Kubernetes.

Kubernetes na AWS: comparação entre K8s autogerenciado e plataforma de aplicações gerenciada

Conheça as vantagens de usar o Kubernetes (K8s) na AWS e entenda as diferenças entre o Kubernetes autogerenciado e uma plataforma de aplicações gerenciada.

O que é hosted control plane?

Hosted control plane refere-se ao plano de gerenciamento desacoplado que permite o controle e gerenciamento consolidados dos principais componentes do plano de controle.

Containers: leitura recomendada

Artigos relacionados