Ir para seção

O que são operadores do Red Hat OpenShift?

Copiar URL

Os operadores do Red Hat® OpenShift automatizam a criação, a configuração e o gerenciamento de instâncias de aplicações nativas em Kubernetes. Os operadores viabilizam a automação em todos os níveis do stack, desde o gerenciamento dos componentes da plataforma até as aplicações que oferecidas como serviços gerenciados.

O Red Hat OpenShift usa o poder dos operadores para executar a plataforma inteira de maneira autônoma e expor a configuração de modo nativo por meio de objetos Kubernetes, o que permite acelerar a instalação e realizar atualizações robustas e frequentes. Além das vantagens da automação dos operadores para gerenciar a plataforma, o Red Hat OpenShift facilita a localização, a instalação e o gerenciamento dos operadores que estão em execução em seus clusters.

O OperatorHub, um registro de operadores certificados de fornecedores de software e projetos open source, já está incorporado ao Red Hat OpenShift. Nele, é possível procurar e instalar bibliotecas de operadores que foram verificados para funcionar com o Red Hat OpenShift e empacotados para facilitar o gerenciamento do ciclo de vida.

 

 

O operador do Kubernetes é um método de empacotar, implantar e gerenciar aplicações do Kubernetes. Uma aplicação nativa em Kubernetes é implantada e gerenciada usando a API do Kubernetes e o conjunto de ferramentas kubectl.

Um operador é, basicamente, um controlador personalizado

Um controlador é um conceito central no Kubernetes, implementado como um loop de software que é executado continuamente nos nós mestres do Kubernetes, que compara e, se necessário, reconcilia o estado desejado e o estado atual de um objeto. Os objetos são recursos bem conhecidos, como Pods, Services, ConfigMaps ou PersistentVolumes. Os operadores aplicam esse modelo no nível de aplicações inteiras e são, na verdade, seus controladores específicos.

O operador é parte de um software executado em um Pod no cluster, que interage com o servidor de API do Kubernetes. Ele apresenta novos tipos de objetos por meio de Definições de Recurso Personalizado, um mecanismo de extensão no Kubernetes. Esses objetos personalizados são a interface principal de um usuário; consistente com o modelo de interação baseado em recursos no cluster do Kubernetes.

Um operador observa esses tipos de recursos personalizados e recebe uma notificação sobre sua presença ou modificação. Depois que recebe essa notificação, ele inicia a execução de um loop para que todas as conexões necessárias ao serviço de aplicação representado por esses objetos estejam realmente disponíveis e configuradas da forma que o usuário expressou na especificação do objeto.

Ebook

O’Reilly – Operadores Kubernetes: automação da plataforma de orquestração de containers

Veja exemplos de como os operadores e funcionam e como criá-los com o Operator Framework e o SDK.

O Operator Framework é um projeto open source que oferece a desenvolvedores e administradores de clusters ferramentas para acelerar o desenvolvimento e a implantação de um operador.

O projeto inclui o kit de desenvolvimento de software (SDK) do operador para a criação de aplicações de Kubernetes, um framework de gerenciamento para estender o Kubernetes com operadores e um catálogo de operadores existentes da comunidade Kubernetes.

Operadores da comunidade

Com acesso aos Operadores da comunidade, desenvolvedores e administradores de clusters podem testar operadores em vários níveis de maturidade que funcionam com qualquer Kubernetes. Confira os Operadores da comunidade em OperatorHub.io.

Operadores certificados

Com os operadores certificados do Red Hat OpenShift encontrados no OperatorHub, desenvolvedores e administradores de clusters têm acesso a uma biblioteca de cargas de trabalho "como serviço" verificadas no Red Hat OpenShift e com suporte da Red Hat e seus parceiros.

O kit de desenvolvimento de software (SDK) do operador oferece ferramentas para criar, testar e empacotar operadores. O SDK remove boa parte do código padrão que costuma ser necessário para a integração com a API do Kubernetes. Ele também oferece um mecanismo de scaffolding para que os desenvolvedores possam se concentrar em adicionar lógica de negócios (por exemplo, como escalar, fazer upgrade ou backup da aplicação que gerencia). As principais práticas e padrões de código compartilhados entre os operadores estão incluídos no SDK para ajudar a evitar eventuais retrabalhos. O SDK também estimula o desenvolvimento iterativo e ciclos de testes rápidos com ferramentas que viabilizam a validação básica do operador e o empacotamento automatizado para implantação com o uso do Operator Lifecycle Manager.

 

 

O Operator Lifecycle Manager (OLM) é o circuito que facilita o gerenciamento dos operadores em um cluster do Kubernetes. Os operadores que oferecem aplicações como serviço populares serão cargas de trabalho de longa duração, possivelmente com muitas permissões no cluster.

Com o OLM, os administradores controlam quais operadores estão disponíveis em quais namespaces e quem pode interagir com os operadores em execução. As permissões de um operador são configuradas automaticamente e com precisão para seguir uma abordagem de privilégio mínimo. O OLM gerencia o ciclo de vida geral dos operadores e seus recursos, por exemplo, resolvendo dependências de outros operadores, disparando atualizações para um operador e a aplicação que ele gerencia ou concedendo a uma equipe acesso a um operador para sua parte do cluster.

Aplicações simples e stateless podem usar os recursos de gerenciamento do ciclo de vida do Operator Framework sem escrever qualquer código, por meio de operador genérico (por exemplo, o Operador Helm). No entanto, é nas aplicações complexas e stateful que um operador pode ser extremamente útil. As funcionalidades de serviço gerenciado inseridas no código do operador podem proporcionar uma experiência de usuário avançada com automação de recursos como atualizações, backups e escala.

 

 

Com as extensões de medição, as equipes de TI podem ter mais controle sobre seus orçamentos, enquanto os fornecedores de software podem rastrear mais facilmente o uso de sua solução comercial. O Operator Metering foi desenvolvido para vincular os relatórios de CPU e memória do cluster, além de calcular o custo de IaaS e métricas personalizadas, como licenciamento.

Leia mais

Treinamento

Red Hat OpenShift Operator Certification

O Red Hat® OpenShift® Operator Certification alia as vantagens dos operadores do Kubernetes ao poder da rede de parceiros Red Hat.

Artigo

O que é um operador Kubernetes?

Um operador Kubernetes é um controlador específico para aplicações que amplia as funcionalidades da API do Kubernetes a fim de criar, configurar e gerenciar instâncias de aplicações complexas para um usuário do Kubernetes.

Artigo

O que é o Kubernetes?

O Kubernetes é uma plataforma open source de orquestração de containers que automatiza grande parte dos processos manuais necessários para implantar, gerenciar e escalar aplicações em containers.

Comece a usar uma plataforma empresarial Kubernetes

Red Hat OpenShift

Uma plataforma empresarial de aplicações em containers Kubernetes, com um stack completo de operações automatizadas para gerenciar implantações de nuvem híbrida, multicloud e edge. 

Illustration - mail

Quer receber mais conteúdo deste tipo?

Cadastre-se para receber a nossa newsletter Red Hat Shares.