‫CRDs e o padrão do operador.
‫É aqui que as coisas começam a ficar realmente
‫interessantes com o Kubernetes. Porque quando começamos
‫a adicionar todas essas ferramentas de terceiros e há
‫todas essas APIs no Kubernetes para estendê-las.
‫O próprio Kubernetes se torna sua própria plataforma para você fazer
‫coisas que nunca foram projetadas para fazer ou que você
‫nunca pensou que poderia fazer.
‫Primeiro, se você ainda não se deu conta
‫neste curso, pode adicionar itens de terceiros ao Kubernetes.
‫Ele não usa apenas a API Kubernetes.
‫Agora, com recursos personalizados e controladores personalizados, você pode
‫alterar a API.
‫Você pode realmente usar a
‫API para estendê-la. Então, mesmo o kubectl,
‫na linha de comando, obtém novos comandos e pode ver novos
‫tipos de recursos e novos controladores. Alguns anos atrás,
‫o CoreOS publicou um bom artigo falando
‫sobre o padrão Operador, que era a maneira
‫deles de implementar recursos personalizados e
‫controladores personalizados juntos de uma maneira que permitiria
‫o uso de softwares anteriormente complicados no
‫Kubernetes, mas que o Kubernetes era ciente
‫desse software. Talvez se você
‫tivesse um sistema de monitoramento complexo como
‫o Prometheus e desejasse implantá-lo, executá-lo, mantê-lo atualizado
‫e fazer todas as coisas com
‫ele, você não necessariamente precisaria aprender todas
‫as partes diferentes e como eles funcionam em Kubernetes.
‫Alguns deles podem precisar de StatefulSet.
‫Alguns podem precisar de implantações e serviços.
‫Alguns podem precisar de algum tipo de trabalho cron nele.
‫Quero dizer, existem todos esses tipos diferentes de recursos que
‫podem ser necessários para ter uma solução de
‫monitoramento totalmente funcional.
‫Esse é apenas um exemplo.
‫Basicamente, agora todo esse software está adotando
‫esse padrão e implementando seu próprio código personalizado
‫no Kubernetes para estendê-lo.
‫Essencialmente, ele fornece comandos do kubectl
‫para operar essas ferramentas como se fossem
‫parte nativa do próprio Kubernetes.
‫Isso está acontecendo para todos os tipos de coisas de código aberto: você
‫pode adicionar essas coisas em ... nos recursos, você verá várias
‫listas e sites diferentes. Você pode realmente
‫encontrar essas coisas.
‫Você os considera como arquivos YAML realmente
‫complexos que não apenas permitem implantar algo e depois
‫são executados, mas na verdade obtêm comandos
‫e outras APIs que se estendem
‫do próprio Kubernetes.
‫É uma área bastante emocionante, porque é bastante nova
‫e mostra apenas como o Kubernetes está
‫assumindo tudo. Não há limite
‫para o que ele não pode gerenciar e controlar.
‫Eu diria que, obviamente, você não deseja adicionar
‫tudo aqui, porque cada um deles adicionaria
‫suas próprias informações ao Kubernetes no banco de dados ETCD, estenderia
‫a API e o plano de controle, e tudo mais.
‫Pode ser uma
‫área potencial em que, se você adicionar demais,
‫terá muita complexidade no próprio sistema.
‫No momento, pelo menos para itens como monitoramento, bancos
‫de dados, backups e criação de log, essas são as
‫áreas em que eu me concentraria em obter implantações
‫de tipo de implantações de CRDs e Operator,
‫em vez de apenas encontrar uma YAML que você já viu
‫na Internet e dizendo: quero implantar
‫isso com esse arquivo YAML.
‫Isso lhe dá mais inteligência.
‫Há muitos recursos em cada um deles
‫e, é claro, cada um deles teria uma implementação
‫e uso diferentes. Eu definitivamente recomendo vê-los agora que
‫eles existem.