Operadores e o Red Hat OpenShift Container Platform
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 que é um operador Kubernetes?
O que é um operador Kubernetes?
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.
Veja exemplos de como os operadores e funcionam e como criá-los com o Operator Framework e o SDK.
Recursos da Red Hat
Operator Framework
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 prontos para uso
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.
Comece a criar com o SDK do operador
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.
Empacote com o 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.
Meça com o Operator Metering
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.
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.