O que é um cluster do Kubernetes?
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.
Como trabalhar com clusters do Kubernetes?
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
Cluster, nó, pod e outros termos do Kubernetes
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.
Gerenciamento de cluster
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.
Por que escolher o Red Hat OpenShift para o 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.
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.