O que é um Kubernetes cluster?
Kubernetes cluster é 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.
Como trabalhar com Kubernetes clusters?
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.
Conheça o Red Hat OpenShift
Relação entre cluster, nó, pod e outros termos referentes ao 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.
O que é gerenciamento de cluster do Kubernetes?
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 do Kubernetes é a forma como uma equipe de TI gerencia um grupo de clusters do Kubernetes.
Red Hat Open Technology Sessions
Assista a série de webinars gratuitos da Red Hat e descubra como impulsionar a inovação tecnológica usando modelos colaborativos.
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.