Melhores práticas e diretrizes para o lançamento de contêineres e Kubernetes em ambientes de produção


O ecossistema das tecnologias de contêineres está se desenvolvendo e mudando rapidamente, portanto, faltam boas práticas de trabalho nessa área. No entanto, Kubernetes e contêineres estão sendo usados ​​com mais e mais frequência - tanto para atualizar aplicativos antigos quanto para desenvolver aplicativos modernos em nuvem. 

A equipe do Mail.ru Kubernetes aaS reuniu previsões, dicas e práticas recomendadas para os líderes de mercado da Gartner, 451 Research, StacxRox e outros. Eles permitirão e acelerarão a implantação de contêineres em ambientes de produção.

Como entender se sua empresa está pronta para implantar contêineres em um ambiente de produção


Segundo o Gartner , em 2022, mais de 75% das organizações usarão aplicativos em contêineres na produção. Isso é significativamente mais do que no momento, quando menos de 30% das empresas usam esses aplicativos. 

Segundo a 451 Research , o mercado previsto para o uso de tecnologias de contêineres em 2022 será de US $ 4,3 bilhões, mais do que o dobro do valor projetado em 2019, com uma taxa de crescimento de 30% do mercado.

Em uma pesquisa da Portworx e Aqua Security, 87% dos entrevistados disseram que atualmente usam a tecnologia de contêineres. Para comparação, em 2017, havia 55% desses entrevistados. 

Apesar do crescente interesse e crescimento na introdução de contêineres, seu lançamento na produção requer treinamento devido à imaturidade tecnológica e à falta de know-how. As organizações devem examinar realisticamente os processos de negócios que exigem a conteinerização de aplicativos. Os líderes de TI devem avaliar se possuem um conjunto de habilidades para avançar com a necessidade de treinamento rápido. 

Os especialistas do Gartner acreditam que as perguntas na figura abaixo o ajudarão a entender se você está pronto para implantar contêineres na produção:


Os erros mais comuns ao usar contêineres na produção


As organizações geralmente subestimam o esforço necessário para operar contêineres na produção. O Gartner descobriu vários erros comuns nos scripts do cliente ao usar contêineres em ambientes de produção:


Como garantir a segurança do contêiner


A segurança não pode ser tratada "mais tarde". Ele deve ser incorporado ao processo do DevOps, para que até um termo especial apareça - DevSecOps. As organizações precisam planejar a proteção do ambiente do contêiner ao longo de todo o ciclo de vida do desenvolvimento, que inclui o processo de montagem e desenvolvimento, a implantação e o lançamento do aplicativo.

Recomendações do Gartner

  1. / (CI/CD). . , . — .
  2. Center for Internet Security (CIS), Docker, Kubernetes.
  3. Certifique-se de aplicar o controle de acesso, fornecer separação de tarefas e implementar uma política de gerenciamento de segurança. Informações confidenciais, como chaves SSL ou credenciais de banco de dados, são criptografadas pela orquestra ou por serviços de gerenciamento de terceiros e são fornecidas em tempo de execução
  4. Evite contêineres com privilégios elevados, gerenciando políticas de segurança, isso reduzirá os riscos potenciais de hackers.
  5. Use ferramentas de segurança que fornecem lista de permissões, monitoramento comportamental e detecção de anomalias para impedir atividades maliciosas.

Recomendações do StacxRox :

  1. Kubernetes. , . , , . , . . 
  2. . , , , « » . , .
  3. Definir políticas de rede: isole módulos para restringir o acesso a eles; permitir explicitamente o acesso à Internet aos módulos que precisam dele usando etiquetas; permitir explicitamente a comunicação entre os módulos que precisam se comunicar. 

Como organizar o monitoramento de contêineres e serviços neles


Segurança e monitoramento são as principais preocupações das empresas ao implantar clusters Kubernetes. Os desenvolvedores estão sempre mais focados nos recursos dos aplicativos que estão desenvolvendo do que nos aspectos de monitoramento desses aplicativos

Recomendações do Gartner :

  1. Tente monitorar o status dos contêineres ou serviços neles, juntamente com o monitoramento dos sistemas host.
  2. Dê preferência a fabricantes e instrumentos com profunda integração na orquestração de contêineres, especialmente no Kubernetes.
  3. Escolha ferramentas que fornecem registro detalhado, descoberta automática de serviços e recomendações em tempo real usando análises e / ou aprendizado de máquina.

O blog SolarWinds aconselha :

  1. Use ferramentas para detectar e rastrear automaticamente métricas de contêiner, correlacionar métricas de desempenho como processador, memória e tempo de atividade.
  2. Garanta o planejamento ideal da capacidade, prevendo o momento da exaustão da capacidade com base nos indicadores de monitoramento de contêineres.
  3. , , , , .
  4. , .
  5. , , , .
  6. , (, ) , , .


Com o aumento do número de contêineres em funcionamento com preservação do estado, os clientes precisam considerar a localização dos dados fora do host, bem como a necessidade de proteger esses dados. 

De acordo com uma pesquisa realizada pela Portworx e pela Aqua Security , a segurança dos dados está em primeiro lugar na lista de problemas de segurança observados pela maioria dos entrevistados (61%). 

A criptografia de dados é a principal estratégia de segurança (64%), mas os entrevistados também usam o monitoramento de tempo de execução (49%), a verificação de vulnerabilidades no registro (49%), a verificação de vulnerabilidades nos pipelines de CI / CD (49%) e o bloqueio de anomalias por meio da proteção de tempo de execução (48%)

Recomendações do Gartner :

  1. , . , , , API, ,  .
  2. . , Kubernetes , CSI (Container Storage Interfaces).


O modelo tradicional de rede corporativa, onde especialistas em TI criam ambientes de rede para desenvolvimento, teste, garantia de qualidade e produção para cada projeto, nem sempre está de acordo com o fluxo de trabalho de desenvolvimento contínuo. Além disso, as redes de contêineres abrangem vários níveis.

O blog Magalix compilou regras de alto nível que a implementação de uma solução de rede de cluster deve cumprir:

  1. Os pods agendados no mesmo nó devem poder se comunicar com outros módulos sem usar o NAT (tradução de endereços de rede).
  2. Todos os daemons do sistema (processos em segundo plano, por exemplo, kubelet) em execução em um nó específico podem interagir com os pods em execução no mesmo nó.
  3. Os pods que usam a rede host devem poder se comunicar com todos os outros pods em todos os outros nós sem usar o NAT. Observe que a rede host é suportada apenas em hosts Linux.

As soluções de rede devem ser totalmente integradas às políticas e primitivas do Kubernetes. Os executivos de TI devem buscar um alto grau de automação de rede, fornecer aos desenvolvedores as ferramentas certas e flexibilidade suficiente.

Recomendações do Gartner :

  1. Descubra se as redes CaaS (contêiner como um serviço) ou Kubernetes SDN (Rede Definida por Software) são suportadas. Caso contrário, ou se o suporte for insuficiente, use a CNI (Container Network Interface) para seus contêineres, que suporta as funcionalidades e políticas necessárias.
  2. , CaaS PaaS ( ) / , . , service mesh.
  3. Linux , .


Para entrega automatizada e ininterrupta de aplicativos, você precisa complementar a orquestração de contêiner com outras ferramentas de automação, como produtos de infraestrutura como código (IaC). Estes incluem Chef, Puppet, Ansible e Terraform. 

Também são necessárias ferramentas de automação para montar e implantar aplicativos (consulte “O Quadrante Mágico para Orquestrar a Liberação de Aplicativo ”). Os contêineres também fornecem recursos de expansão semelhantes aos que existiam ao implantar máquinas virtuais (VMs). Portanto, os gerentes de TI devem ter ferramentas de gerenciamento do ciclo de vida do contêiner .

Recomendações do Gartner :

  1. , .
  2. , , .
  3. CaaS , .


As principais funcionalidades para implantar contêineres são fornecidas nos níveis de orquestração e planejamento. Quando os contêineres de planejamento são colocados nos hosts mais ideais do cluster, conforme prescrito pelos requisitos do nível de orquestração. 

O Kubernetes se tornou o padrão de fato para a orquestração de contêineres com uma comunidade ativa, apoiada pela maioria dos principais fornecedores comerciais. 

Recomendações do Gartner :

  1. Defina os requisitos básicos para controles de segurança, monitoramento, gerenciamento de políticas, armazenamento de dados, gerenciamento de rede e ciclo de vida do contêiner.
  2. Com base nesses requisitos, selecione a ferramenta que melhor se adapta aos seus requisitos e cenários de uso.
  3. Gartner (. « Kubernetes»), Kubernetes .
  4. , , .


O Gartner acredita que o interesse na implantação de contêineres na nuvem IaaS pública está crescendo devido à disponibilidade de ofertas CaaS pré-criadas, bem como à estreita integração dessas ofertas com outros produtos oferecidos pelos provedores de nuvem.

As nuvens IaaS oferecem consumo de recursos sob demanda, escalabilidade rápida e gerenciamento de serviços para ajudar a evitar a necessidade de conhecimento aprofundado da infraestrutura e de sua manutenção. A maioria dos provedores de nuvem oferece serviços de gerenciamento de contêiner, e alguns oferecem várias opções de orquestração. 

Os principais provedores de serviços gerenciados na nuvem são apresentados na tabela: 

Provedor de nuvemTipo de serviçoProduto / Serviço
AlibabaServiço de nuvem nativaAlibaba Cloud Container Service, Alibaba Cloud Container Service for Kubernetes
Amazon Web Services (AWS)Native Cloud ServiceAmazon Elastic Container Services (ECS), Amazon ECS for Kubernetes (EKS), AWS Fargate
Giant SwarmMSPGiant Swarm Managed Kubernetes Infrastructure
GoogleNative Cloud ServiceGoogle Container Engine (GKE)
IBMNative Cloud ServiceIBM Cloud Kubernetes Service
MicrosoftNative Cloud ServiceAzure Kubernetes Service, Azure Service Fabric
OracleNative Cloud ServiceOCI Container Engine for Kubernetes
Platform9MSPManaged Kubernetes
Red HatHosted ServiceOpenShift Dedicated & Online
VMwareHosted ServiceCloud PKS (Beta)
Mail.ru Cloud Solutions*Native Cloud ServiceMail.ru Cloud Containers

* Não vamos esconder, nós nos adicionamos aqui durante a tradução :) Os

provedores de nuvens públicas também adicionam novos recursos e lançam produtos locais. Em um futuro próximo, os provedores de nuvem desenvolverão suporte para nuvens híbridas e ambientes com várias nuvens. 

Recomendações do Gartner :

  1. Avalie objetivamente a capacidade da sua organização de implantar e gerenciar as ferramentas apropriadas e considere serviços alternativos de gerenciamento de contêiner na nuvem.
  2. Escolha seu software com cuidado, use código aberto sempre que possível.
  3. Escolha fornecedores com modelos operacionais únicos em ambientes híbridos que oferecem gerenciamento de cluster integrado a partir de um único painel, além de fornecedores que facilitam o uso independente do IaaS.

Algumas dicas para escolher um provedor de aaS Kubernetes no blog Replex :

  1. Vale a pena procurar distribuições que suportem alta disponibilidade imediatamente. Isso inclui suporte para várias arquiteturas principais, componentes etcd de alta disponibilidade, além de backup e restauração.
  2. Para mobilidade nos ambientes Kubernetes, é melhor escolher os provedores de nuvem que suportam uma ampla variedade de modelos de implantação: do local ao híbrido e com várias nuvens. 
  3. Também vale a pena avaliar as ofertas dos fornecedores, levando em conta a facilidade de configuração, instalação e criação de cluster, bem como atualizações, monitoramento e solução de problemas. O requisito básico é o suporte a atualizações de cluster totalmente automatizadas com zero tempo de inatividade. A solução que você escolher também deve permitir que você execute as atualizações manualmente. 
  4. , . , Kubernetes , . RBAC .
  5. , , , CNI, Flannel, Calico, kube-router OVN.

A introdução de contêineres na produção está se tornando o foco principal, como evidenciado pelos resultados de uma pesquisa realizada na sessão do Gartner sobre infraestrutura, operações e estratégias de nuvem (IOCS) em dezembro de 2018:


Como você pode ver, 27% dos entrevistados já usam contêineres no trabalho e 63% o farão.

Em uma pesquisa realizada pela Portworx e pela Aqua Security, 24% dos entrevistados disseram que investem mais de meio milhão de dólares por ano em tecnologia de contêineres e 17% dos entrevistados gastam mais de um milhão de dólares por ano com isso. 

Este artigo foi preparado pela equipe Mail.ru Cloud Solutions da plataforma em nuvem .


All Articles