As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Otimização de custo
Para apoiar o controle efetivo de recursos, a minimização de custos do Kubernetes é crucial para empresas que usam essa tecnologia de orquestração de contêineres. É difícil monitorar adequadamente os gastos nas configurações do Kubernetes devido à sua complexidade, que inclui vários componentes, como pods e nós. Por meio da aplicação de técnicas de otimização de custos, as empresas podem ver onde seus recursos estão sendo gastos e atribuir adequadamente as despesas aos departamentos ou projetos.
Embora o escalonamento dinâmico tenha vantagens, se não for gerenciado adequadamente, pode resultar em despesas imprevistas. O gerenciamento eficiente de custos ajuda a alocar recursos somente quando eles são realmente necessários, evitando aumentos imprevistos nas despesas.
Esta seção discute as seguintes abordagens para otimização de custos:
Kubecost
O Kubecost
O Kubecost fornece os seguintes recursos principais:
-
Alocação de custos — O Kubecost oferece uma alocação completa de custos para os recursos do Kubernetes, incluindo cargas de trabalho, serviços, namespaces e rótulos. Esse recurso ajuda as equipes a monitorar os custos por ambiente, projeto ou equipe.
-
Monitoramento de custos em tempo real — Ele oferece monitoramento em tempo real dos custos da nuvem, fornecendo às organizações informações imediatas sobre os padrões de gastos e ajudando a evitar custos excessivos inesperados.
-
Recomendações de otimização — O Kubecost oferece sugestões práticas para minimizar a utilização de recursos, incluindo a redução de recursos ociosos, o dimensionamento correto das cargas de trabalho e a maximização das despesas de armazenamento.
-
Orçamento e alertas — Os usuários do Kubecost podem criar orçamentos e receber lembretes quando uma despesa se aproxima ou ultrapassa os critérios predeterminados. Esse recurso ajuda as equipes a cumprir as restrições financeiras.
Cachinhos Dourados
O Goldilocks
Goldilocks fornece os seguintes recursos principais:
-
Recomendações de recursos — Goldilocks determina as configurações ideais para solicitações e restrições de recursos analisando estatísticas anteriores de consumo de CPU e memória para cargas de trabalho do Kubernetes. Ao fazer isso, fica mais fácil evitar o provisionamento insuficiente ou excessivo, o que pode resultar em problemas de desempenho e desperdício de recursos.
-
Integração com VPA — A Goldilocks utiliza o Kubernetes Vertical Pod Autoscaler (VPA) para coletar dados e fornecer recomendações. Ele é executado em um “modo de recomendação”, o que significa que, na verdade, não altera as configurações dos recursos, mas oferece orientação sobre quais devem ser essas configurações.
-
Análise baseada em namespaces — O Goldilocks oferece a capacidade de regular com precisão quais cargas de trabalho são otimizadas e monitoradas, permitindo que você direcione namespaces específicos para análise.
-
Painel visual — O painel baseado na web exibe visualmente as solicitações e restrições de recursos sugeridas, o que facilita a compreensão e a ação dos dados.
-
Operação não intrusiva — Goldilocks não altera a configuração do cluster porque opera no modo de recomendação. Se quiser, você pode aplicar manualmente as configurações de recursos recomendadas depois de analisar as recomendações.
AWS Fargate
No contexto do Amazon EKS, https://docs.aws.amazon.com/eks/latest/userguide/fargate.htmlAWS Fargate permite que você execute pods do Kubernetes sem gerenciar as instâncias subjacentes da Amazon. EC2 É um mecanismo de computação sem servidor que permite que você se concentre na implantação e na escalabilidade de aplicativos em contêineres sem se preocupar com a infraestrutura.
AWS Fargate fornece os seguintes recursos principais:
-
Sem gerenciamento de infraestrutura — o Fargate elimina a necessidade de provisionar, gerenciar ou escalar EC2 instâncias da Amazon ou nós do Kubernetes. AWS lida com todo o gerenciamento da infraestrutura, incluindo patches e escalabilidade.
-
Isolamento em nível de pod — diferentemente dos nós de trabalho baseados na Amazon, o EC2 Fargate fornece isolamento em nível de tarefa ou de pod. Cada pod é executado em seu próprio ambiente computacional isolado, o que aumenta a segurança e o desempenho.
-
Escalabilidade automática — O Fargate escala automaticamente os pods do Kubernetes com base na demanda. Você não precisa gerenciar políticas de escalabilidade ou pools de nós.
-
Cobrança por segundo — você paga apenas pelos recursos de vCPU e memória consumidos por cada pod pela duração exata em que ele é executado, o que é uma opção econômica para determinadas cargas de trabalho.
-
Redução da sobrecarga — Ao eliminar a necessidade de gerenciar EC2 instâncias, o Fargate permite que você se concentre na criação e no gerenciamento de seus aplicativos, em vez de nas operações de infraestrutura.
Instâncias spot
As instâncias spot oferecem economias significativas em relação aos preços de instâncias sob demanda e são uma opção acessível para executar os nós de EC2 trabalho da Amazon em um cluster do Amazon EKS. No entanto, AWS pode interromper as instâncias spot caso seja necessária a capacidade da instância sob demanda. AWS podem recuperar instâncias spot com um aviso prévio de 2 minutos quando a capacidade é necessária, tornando-as menos confiáveis para cargas de trabalho críticas e monitoradas.
Para cargas de trabalho sensíveis ao custo e capazes de suportar interrupções, as instâncias spot no Amazon EKS são uma boa opção. Usar uma combinação de instâncias spot e instâncias sob demanda em um cluster Kubernetes ajuda você a economizar dinheiro sem sacrificar a disponibilidade de cargas de trabalho vitais.
As instâncias spot fornecem os seguintes recursos principais:
-
Economia de custos — As instâncias spot podem ser mais baratas do que os preços
das instâncias sob demanda, o que as torna ideais para cargas de trabalho econômicas. -
Ideal para cargas de trabalho tolerantes a falhas — Adequado para cargas de trabalho sem estado e tolerantes a falhas, como processamento em lote, tarefas de CI/CD, aprendizado de máquina ou processamento de dados em grande escala, em que as instâncias podem ser substituídas sem grandes interrupções.
-
Integração de grupos com escalabilidade automática — O Amazon EKS integra instâncias spot com o Kubernetes Cluster Autoscaler, que pode substituir automaticamente os nós de instância spot interrompidos por outras instâncias spot ou instâncias sob demanda disponíveis.
Instâncias reservadas
No Amazon EKS, as Instâncias Reservadas
As instâncias reservadas são comumente usadas pela Amazon EC2. No entanto, os nós de trabalho em seu cluster Amazon EKS (que são EC2 instâncias) também podem se beneficiar desse modelo econômico, desde que a carga de trabalho exija um uso previsível e de longo prazo.
Serviços de produção, bancos de dados e outros aplicativos monitorados que precisam de alta disponibilidade e desempenho consistente são exemplos de cargas de trabalho estáveis que são adequadas para instâncias reservadas.
As instâncias reservadas fornecem os seguintes recursos principais:
-
Economia de custos — As instâncias reservadas oferecem economia em comparação com as instâncias sob demanda, dependendo da duração do prazo (1 ou 3 anos) e do plano de pagamento (pagamento adiantado
total, adiantado parcial ou sem pagamento adiantado). -
Compromisso de longo prazo — Você se compromete com um prazo de 1 ou 3 anos para um tipo, tamanho e tamanho de instância específicos. Região da AWS Isso é ideal para cargas de trabalho estáveis e executadas continuamente ao longo do tempo.
-
Preços previsíveis — Como você está comprometido com um período específico, as Instâncias Reservadas oferecem custos mensais ou iniciais previsíveis, facilitando o orçamento para cargas de trabalho de longo prazo.
-
Flexibilidade de instância — Com as instâncias reservadas conversíveis, você pode alterar o tipo, a família ou o tamanho da instância durante o período da reserva. As instâncias reservadas conversíveis oferecem mais flexibilidade do que as instâncias reservadas padrão, que não permitem alterações.
-
Capacidade garantida — As instâncias reservadas garantem que a capacidade esteja disponível na zona de disponibilidade em que a reserva é feita, o que é crucial para cargas de trabalho críticas que precisam de potência computacional consistente.
-
Sem risco de interrupção — Diferentemente das Instâncias Spot, as Instâncias Reservadas não estão sujeitas à interrupção por. AWS Isso os torna ideais para executar cargas de trabalho de missão crítica que exigem tempo de atividade garantido.
AWS Instâncias de Graviton
AWS O Graviton
As instâncias Graviton são uma excelente opção para aplicativos nativos da nuvem e com uso intensivo de computação, pois oferecem uma relação preço-desempenho mais alta do que as instâncias x86. No entanto, ao considerar a adoção de instâncias do Graviton, leve em consideração a compatibilidade com o ARM.
AWS As instâncias do Graviton oferecem os seguintes recursos principais:
-
Arquitetura baseada em ARM — Os processadores AWS Graviton são baseados na arquitetura ARM, que é diferente das arquiteturas x86 tradicionais, mas altamente eficiente para muitas cargas de trabalho.
-
Econômico — as EC2 instâncias da Amazon baseadas no Graviton normalmente oferecem melhor relação preço-desempenho em comparação às instâncias baseadas em x86. EC2 Isso os torna uma opção atraente para clusters Kubernetes que executam o Amazon EKS.
-
Desempenho — Os processadores Graviton2, a segunda geração do AWS Graviton, oferecem melhorias significativas em termos de desempenho computacional, taxa de transferência de memória e eficiência energética. Eles são ideais para cargas de trabalho com uso intenso de CPU e memória.
-
Diversos tipos de instância — as instâncias do Graviton vêm em várias famílias, como t4g, m7g, c7g e r7g, abrangendo uma variedade de casos de uso, desde cargas de trabalho de uso geral até cargas de trabalho otimizadas para computação, otimizadas para memória e intermitentes.
-
Grupos de nós do Amazon EKS — Você pode configurar grupos de nós gerenciados pelo Amazon EKS ou grupos de nós autogerenciados para incluir instâncias baseadas em Graviton. Com essa abordagem, você pode executar cargas de trabalho otimizadas para a arquitetura ARM no mesmo cluster Kubernetes junto com instâncias baseadas em x86.