Conceitos-chave para Red Hat OpenShift Container Platform

Aprenda sobre os conceitos básicos de operadores, contêineres e Kubernetes para ajudar a entender os benefícios da migração de seus aplicativos para a nuvem.

Para obter mais informações sobre como trabalhar com o Red Hat® OpenShift® Container Platform, consulte os seguintes tópicos:

Operadores e dependências

O que é um operador??
Um operador é um conjunto de recursos nativos do Kubernetesque empacota, implementa e gerencia um aplicativo Kubernetes estendendo a API Kubernetes .
O que é um aplicativo do Kubernetes ?
Um aplicativo Kubernetes é um aplicativo que é implementado em Kubernetes e gerenciado usando APIs e ferramentas kubectl do Kubernetes .
Como funciona um operador?

Um operador consiste em várias partes de software que permitem o gerenciamento eficiente de aplicativos no Kubernetes -um controlador e uma ou mais definições de recurso customizado (CRD).

O controlador é um código customizado que é implementado em um cluster Kubernetes que observa mudanças nos recursos Kubernetes customizados e reage a eles. Um recurso customizado é uma extensão da API do Kubernetes e é usado para fornecer recurso adicional que pode não estar disponível na instalação padrão do Kubernetes Ele permite a customização e a modularização do Kubernetes

O que é uma dependência?
Uma dependência é um pré-requisito que deve ser atendido antes que o processamento possa continuar Ou seja, quando uma entidade em um sistema não pode funcionar significativamente sem outra entidade, é dito ser dependente. Por exemplo, um aplicativo pode ter dependencias em um servidor, banco de dados ou outros serviços aos quais ele está conectado Na migração de nuvem, essas dependências de aplicativo são um risco possível As ferramentas de descoberta podem fornecer uma imagem clara do relacionamento entre cada aplicativo e suas dependências para que seja possível migrar com sucesso todos os aplicativos e serviços críticos para a nuvem..

Operator Lifecycle Manager (OLM)

O que é o Operator Lifecycle Manager
Operator Lifecycle Manager (OLM) estende a capacidade do Kubernetes , permitindo que os usuários instalem, gerenciem e façam upgrade de Operadores e suas dependências em um cluster.
Por que usar o Operator Lifecycle Manager?
  • É possível gerenciar aplicativos mais facilmente definindo um aplicativo como um único recurso Kubernetes , cada um com seus requisitos e metadados. OLM requer esses metadados para verificar se um operador pode executar com segurança em um cluster e entender como as atualizações devem ser aplicadas.
  • É possível automatizar instalações de aplicativos e resolver dependências ou instalar manualmente com nada além de kubectl
  • É possível automatizar atualizações de aplicativo e aplicar diferentes políticas de aprovação para cada uma.

Conteinerização, Kubernetese Red Hat OpenShift Container Platform

O que é um contêiner?
Um contêiner é uma unidade executável de software na qual o código do aplicativo é empacotado junto com bibliotecas e dependências.. Ele pode ser executado em qualquer lugar no desktop, na TI tradicional ou na nuvem. Os contêineres aproveitam uma forma de virtualização do Sistema Operacional (S.O.) para que vários aplicativos compartilhem o S.O. isolando processos e controlando a quantidade de CPU, memória e disco que esses processos podem acessar.
O que é conteinerização?
Conteinerização é o processo de empacotar o código do software e todas as suas dependências para que ele possa ser executado de forma consistente em qualquer infraestrutura.
Benefícios da conteinerização

A conteinerização oferece os seguintes benefícios para desenvolvedores e equipes de desenvolvimento:

  • Portabilidade: Um contêiner cria um pacote executável de software que é abstraído do (não vinculado ou dependente do) sistema operacional do host e, portanto, é portátil e capaz de executar de forma uniforme e consistente em qualquer plataforma ou nuvem.
  • Agilidade: o Docker Engine de software livre para executar contêineres iniciou o padrão de mercado para contêineres com ferramentas simples do desenvolvedor e uma abordagem de empacotamento universal que funciona nos sistemas operacionais Linux® e Windows . Agora, muitos usuários preferem mecanismos gerenciados pela Open Container Initiative (OCI). Os desenvolvedores de software podem continuar usando ferramentas e processos ágeis ou DevOps para desenvolvimento e aprimoramento rápidos de aplicativos.
  • Velocidade: Os contêineres são muitas vezes referidos como "leves", o que significa que compartilham o kernel do sistema operacional (OS) do computador. Essa arquitetura melhora a eficiência do servidor, reduz os custos de servidor e licenciamento e reduz os tempos de inicialização.
  • Isolamento de falha: Cada aplicativo conteinerizado é isolado e opera independentemente de outros. A falha de um contêiner não afeta a operação contínua de outros contêineres. As equipes de desenvolvimento podem identificar e corrigir quaisquer problemas técnicos em um contêiner sem qualquer tempo de inatividade em outros contêineres. Além disso, o mecanismo do contêiner pode usar quaisquer técnicas de isolamento de segurança do S.O.-como o controle de acesso do SELinux-para isolar falhas dentro de contêineres
  • Eficiência: o software em execução em ambientes conteinerizados compartilha o kernel do S.O. da máquina e as camadas de aplicativos dentro de um contêiner podem ser compartilhadas entre contêineres. Assim, os contêineres são inerentemente menores em capacidade do que uma VM e requerem menos tempo de inicialização, permitindo que muito mais contêineres sejam executados na mesma capacidade de cálculo que uma VM única. Essa arquitetura melhora a eficiência do servidor e reduz os custos de servidor e licenciamento.
  • Facilidade de gerenciamento: uma plataforma de orquestração de contêiner automatiza a instalação, o ajuste de escala e o gerenciamento de cargas de trabalho e serviços conteinerizados. As plataformas de orquestração de contêineres podem facilitar tarefas de gerenciamento, como escalar aplicativos conteinerizados, lançar novas versões de aplicativos e fornecer monitoramento, criação de log e depuração, entre outras funções. Kubernetes, talvez o sistema de orquestração de contêiner mais popular disponível, é uma tecnologia de software livre (originalmente de software livre pelo Google, com base em seu projeto interno chamado Borg) que automatiza as funções de contêiner do Linux originalmente. O Kubernetes funciona com muitos mecanismos de contêiner, como Docker, mas também funciona com qualquer sistema de contêiner em conformidade com os padrões Open Container Initiative (OCI) para formatos de imagem de contêiner e tempos de execução.
  • Segurança: O isolamento de aplicativos como contêineres inerentemente impede a invasão de código malicioso de afetar outros contêineres ou o sistema host. Além disso, as permissões de segurança podem ser definidas para bloquear automaticamente componentes indesejados de entrar em contêineres ou limitar comunicações com recursos desnecessários.

Para saber mais sobre conteinerização, consulte Conteinerização explicada.

O que é Kubernetes?
Kubernetes -também conhecido como "k8s" ou "kube"-é uma plataforma de orquestração de contêiner para planejar e automatizar a implementação, o gerenciamento e o ajuste de escala de aplicativos conteinerizados.
Por que usar Kubernetes?

As equipes de operações devem planejar e automatizar a implementação, rede, escalabilidade e disponibilidade de um número cada vez maior de contêineres.

Os desenvolvedores escolhem Kubernetes para sua amplitude de funcionalidade, seu vasto e crescente ecossistema de ferramentas de software livre e seu suporte e portabilidade entre os principais provedores de nuvem (alguns dos quais agora oferecem serviços Kubernetes totalmente gerenciados).

O que Kubernetes faz?

Kubernetes planeja e automatiza as tarefas a seguir:

  • Implementação: Implementar um número especificado de contêineres em um host especificado e mantê-los em execução em um estado desejado
  • Lançamentos: um lançamento é uma mudança em uma implementação. Usando o Kubernetes, é possível iniciar, pausar, continuar ou retroceder recuperações.
  • Descoberta de serviço: o Kubernetes pode expor automaticamente um contêiner para a internet ou para outros contêineres usando um nome DNS ou endereço IP.
  • Fornecimento de armazenamento: configure Kubernetes para montar o armazenamento local ou em nuvem persistente para seus contêineres conforme necessário.
  • Balanceamento de carga e ajuste de escala: quando o tráfego para um contêiner aumenta, o Kubernetes pode empregar balanceamento de carga e ajuste de escala para distribuí-lo pela rede para manter a estabilidade.
  • Autocorreção para alta disponibilidade: quando um contêiner falha, o Kubernetes pode reiniciá-lo ou substituí-lo automaticamente; ele também pode derrubar contêineres que não atendem aos seus requisitos de verificação de funcionamento
O que é o Red Hat Red Hat OpenShift Container Platform?

O Red Hat OpenShift Container Platform é uma plataforma para automatizar a implementação e o gerenciamento de aplicativos conteinerizados Embora o Red Hat OpenShift Container Platform use o Kubernetes para orquestrar contêineres, o Kubernetes não gerencia requisitos de nível de plataforma ou processos de implementação. Portanto, o Red Hat OpenShift Container Platform aprimora a capacidade do Kubernetes , fornecendo ferramentas e processos de gerenciamento de plataforma

Para mais informações, consulte Red Hat OpenShift Container Platform Ícone de link externo.