Como cada vez mais organizações estão expandindo o uso de orquestradores de contêineres e o Kubernetes está se tornando uma escolha popular para muitas empresas, é crucial entender como obter uma imagem clara dos gastos com recursos do K8s para aplicar oportunidades de otimização de custos.
As vantagens das tecnologias de contêiner, como portabilidade e escalabilidade, e sua base de código aberto tornaram o Kubernetes o padrão para executar aplicativos baseados em contêiner nas nuvens.
Felizmente, as plataformas de nuvem fornecem suporte e ajudam empresas de qualquer tamanho a adotar a tecnologia Kubernetes. Aqui está uma lista de serviços fornecidos pelas principais plataformas de nuvem:
- Amazon Elastic Kubernetes Service (Amazon EKS) na AWS
- Google Kubernetes Engine (GKE) no Google Cloud
- Microsoft Azure: Serviço Azure Kubernetes (AKS)
- IBM Cloud: Serviço IBM Cloud Kubernetes
- Oracle Cloud Infrastructure: Oracle Container Engine para Kubernetes
- Alibaba Cloud: serviço de contêiner para Kubernetes (ACK)
Mas a realidade mostra que não basta usar o Kubernetes para obter o melhor valor das nuvens públicas. Devido a uma recente relatório StackRox Cerca de 70% de empresas detectaram configuração incorreta em seu ambiente Kubernetes.
Uma estrutura em contêineres cria desafios com transparência de custos de nuvem e alocação, o que causa dificuldades significativas no gerenciamento de recursos e na otimização.
Perceber a adoção do FinOps na sua empresa ajudará a superar os desafios mencionados acima. Vamos abordá-los da perspectiva de um dos principais princípios do FinOps – visibilidade.
Quais são os principais desafios para monitorar custos e recursos do Kubernetes?
Um gerenciamento de nuvem eficaz precisa de visibilidade de custos; é crucial identificar unidades organizacionais como aplicativos, serviços de nuvem, pools de ativos, unidades de negócios, equipes, engenheiros individuais e mapeá-los nos custos da nuvem.
No entanto, o Kubernetes geralmente é considerado uma caixa-preta. A alocação de custos é uma tarefa complicada para essa tecnologia em contêineres, mesmo quando é lançada por um dos principais provedores de nuvem. O Kubernetes é frequentemente usado por centenas de aplicativos e dezenas de engenheiros como um sistema multilocatário simultaneamente. Os provedores de serviços cobram e incluem em uma fatura de nuvem o custo de cada instância de servidor que compõe um cluster do Kubernetes.
A alocação de custos em sistemas baseados em contêineres cria dificuldades adicionais. A maioria dos clusters do Kubernetes são recursos compartilhados com aplicativos executados por muitas equipes, o que significa que não há alocação direta de custos para um contêiner específico.
Como monitorar cargas de trabalho do Kubernetes
A transparência de custos entre equipes, aplicativos e pods individuais é essencial para evitar estouros de orçamento e evitar desperdícios. As empresas geralmente sofrem com a falta de sistemas que identifiquem o custo de cada implantação, serviço ou namespace, porque o Kubernetes não rastreia nenhum dado sobre custo e uso de recursos.
Para fins de monitoramento e alerta do Kubernetes, as empresas costumam usar Prometeu, software Kubernetes integrado e considerado uma das ferramentas poderosas com uma base de código aberto que permite transparência de custos de consultas e relatórios.
A solução Prometheus contém as seguintes ferramentas:
- O Exportador de nó Prometheus ajuda a medir vários recursos do servidor, como uso de CPU e memória de pods, contêineres e outras métricas em nós em um cluster Kubernetes
- Métricas do estado de Kube gera métricas com base no estado dos objetos do Kubernetes, por exemplo, status do nó, capacidade do nó (CPU e memória), número de réplicas desejadas/disponíveis/indisponíveis/atualizadas por implantação, status do pod e assim por diante
- O Prometeu Gerenciador de alertas permite configurar notificações de alerta, limites e enviar e-mails, disparar um pager ou gerar um tíquete
- Grafana oferece às empresas a oportunidade de visualizar o uso de recursos do Kubernetes ao longo do tempo e a exploração interativa de custos
Usando plataformas de gestão financeira de terceiros também poderia facilitar a tarefa de fornecer transparência de custo de nuvem na infraestrutura do Kubernetes, melhorando a visibilidade em clusters compartilhados do Kubernetes e seus custos. Além disso, plataformas de gerenciamento financeiro em nuvem geralmente oferecem suporte a recursos que oferecem gerenciamento multi-nuvem em diferentes plataformas com fornecimento de dados de faturamento em um único painel.
5 etapas principais para fornecer visibilidade ao ambiente Kubernetes
Iniciar detecção de recursos do Kubernetes
Como é sabido, o Kubernetes não extrai nem guarda nenhum dado necessário para uso de recursos detecção. Como um primeiro passo para uma detecção eficiente Gerenciamento de custos da nuvem Kubernetes é importante configurar um sistema para rastrear clusters Kubernetes compartilhados e armazenar esses dados no local.
Atribuir cargas de trabalho do Kubernetes
A convenção de marcação ou nomenclatura de recursos é crucial para alcançar Monitoramento de custos do Kubernetes objetivos. A rotulagem e marcação profundas deixam claro quais cargas de trabalho do Kubernetes pertencem a uma equipe específica, unidade organizacional, pods individuais, projeto ou centro de custo. A rotulagem e o namespace consistentes podem melhorar sua estratégia de alocação.
Por exemplo, as empresas podem usar automaticamente Anotações do Kubernetes atribuir custos ao centro de custo apropriado.
Anexar custos aos objetos do Kubernetes
As empresas precisam implementar um sistema de contabilidade para anexar os custos do ambiente Kubernetes e os gastos relacionados à nuvem às equipes, usuários individuais ou unidades de negócios que consumiram esses recursos. A metodologia de alocação do Kubernetes permite que sua equipe divida os custos por namespace, rótulo, cluster ou serviço.
Defina regras TTL, notificações e políticas de limpeza para clusters Kubernetes
Regras TTL inteligentes, alertas e restrições de orçamento ajudam a manter todos os clusters do Kubernetes sob controle e evitar estouros de orçamento. As políticas de limpeza como um dos elementos mais importantes do sistema de monitoramento de custos permitem que as equipes se livrem de recursos obsoletos e não utilizados.
Criar relatórios
Desde que os dados de uso de recursos ficaram disponíveis tornou-se possível criar relatórios para análises profundas de custos do Kubernetes para melhorar a eficácia da experiência de uso de dados.
Pensamentos finais
Mais do que 80% das empresas hoje operam contêineres na produção e 78% deles usam serviços Kubernetes. No entanto, apesar do grande número de usuários da tecnologia Kubernetes, coletar métricas do Kubernetes e monitorar os custos da nuvem continua sendo uma tarefa complicada. Hoje, engenheiros e líderes de TI são desafiados a encontrar a melhor maneira de fornecer transparência de custos entre equipes, aplicativos e pods individuais para encontrar uma configuração Kubernetes eficaz e atingir metas de otimização.
Nosso produto, OptScale, pode ajudar a trazer visibilidade e obter economia de unidade precisa para Kubernetes e cargas de trabalho tradicionais.
Para colocar a teoria em prática, você pode fazer um teste gratuito, sem precisar de cartão de crédito → https://my.optscale.com/register