Login / Registre-se Account

Containers

O que é um cluster Kubernetes?

O cluster 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.

O cluster contém pelo menos um nó mestre e um nó de trabalho. O nó mestre é 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. Já os nós de trabalho 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 um cluster Kubernetes?

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.

Nó mestre: a máquina que controla os nós do Kubernetes. É nela que todas as atribuições de tarefas se originam.

Nós de trabalho: máquinas que realizam as tarefas solicitadas e atribuídas. Eles são controlados pelo mestre do Kubernetes.

Pod: um conjunto de 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.

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, 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.