Mellores prácticas e boas prácticas para executar contedores e Kubernetes en entornos de produción

Mellores prácticas e boas prácticas para executar contedores e Kubernetes en entornos de produción
O ecosistema da tecnoloxía de contenedores evoluciona e cambia rapidamente, polo que faltan boas prácticas de traballo neste ámbito. Non obstante, Kubernetes e os contedores úsanse cada vez máis, tanto para modernizar aplicacións legadas como para desenvolver aplicacións modernas na nube. 

Equipo Kubernetes aaS de Mail.ru recolleu previsións, consellos e mellores prácticas para os líderes do mercado de Gartner, 451 Research, StacxRoх e outros. Permitirán e acelerarán o despregamento de contedores en contornos de produción.

Como saber se a túa empresa está lista para implementar contedores nun ambiente de produción

Segundo Gartner, en 2022, máis do 75% das organizacións utilizarán aplicacións en contedores na produción. Isto é significativamente máis que actualmente, cando menos do 30% das empresas utilizan este tipo de aplicacións. 

Conforme Buscar 451O mercado previsto para aplicacións de tecnoloxía de contedores en 2022 será de 4,3 millóns de dólares, máis do dobre que o previsto en 2019, cunha taxa de crecemento do mercado do 30 %.

В Enquisa de Portworx e Aqua Security O 87% dos enquisados ​​dixo que actualmente usa tecnoloxías de contedores. A modo de comparación, en 2017 houbo un 55% destes enquisados. 

A pesar do crecente interese e adopción dos envases, a súa posta en produción require unha curva de aprendizaxe debido á inmadurez tecnolóxica e á falta de coñecementos. As organizacións deben ser realistas sobre os procesos comerciais que requiren a contenerización de aplicacións. Os líderes de TI deben avaliar se teñen o conxunto de habilidades para avanzar coa necesidade de aprender rapidamente. 

Expertos de Gartner Pensamos que as preguntas da imaxe a continuación axudarán a determinar se estás preparado para implementar contedores en produción:

Mellores prácticas e boas prácticas para executar contedores e Kubernetes en entornos de produción

Os erros máis comúns ao usar envases na produción

As organizacións adoitan subestimar o esforzo necesario para operar os contedores na produción. Gartner descubriu Algúns erros comúns nos escenarios dos clientes ao usar contedores en ambientes de produción:

Mellores prácticas e boas prácticas para executar contedores e Kubernetes en entornos de produción

Como manter os recipientes seguros

A seguridade non se pode tratar "máis tarde". Debe integrarse no proceso DevOps, polo que incluso hai un termo especial: DevSecOps. As organizacións teñen que planificar protexendo o seu ambiente de contedores ao longo do ciclo de vida do desenvolvemento, que inclúe o proceso de creación e desenvolvemento, a implantación e o lanzamento da aplicación.

Recomendacións de Gartner

  1. Integre o proceso de dixitalización de imaxes da aplicación en busca de vulnerabilidades na súa canalización de integración continua/entrega continua (CI/CD). As aplicacións son escaneadas nas fases de creación e lanzamento do software. Subliña a necesidade de escanear e identificar compoñentes, bibliotecas e frameworks de código aberto. Os desenvolvedores que usan versións antigas e vulnerables é unha das principais causas das vulnerabilidades dos contedores.
  2. Mellora a túa configuración coas probas do Center for Internet Security (CIS), que están dispoñibles tanto para Docker como para Kubernetes.
  3. Asegúrate de facer cumprir os controis de acceso, asegurar a separación de funcións e implementar unha política de xestión de segredos. A información confidencial, como as claves de Secure Sockets Layer (SSL) ou as credenciais da base de datos, está cifrada polo orquestrador ou polos servizos de xestión de terceiros e exponse no tempo de execución.
  4. Evite os contedores elevados xestionando políticas de seguridade para reducir os posibles riscos de violación.
  5. Utiliza ferramentas de seguranza que proporcionan listas brancas, seguimento do comportamento e detección de anomalías para evitar actividades maliciosas.

Recomendacións de StacxRox:

  1. Aproveita as capacidades integradas de Kubernetes. Configure o acceso para os usuarios que utilicen roles. Asegúrate de non conceder permisos innecesarios a entidades individuais, aínda que poida levar algún tempo pensar nos permisos mínimos necesarios. Pode ser tentador concederlle ao administrador do clúster amplos privilexios xa que inicialmente aforra tempo. Non obstante, calquera compromiso ou erro na conta pode levar a consecuencias devastadoras máis adiante. 
  2. Evite permisos de acceso duplicados. Ás veces pode ser útil que se superpoñan diferentes roles, pero isto pode provocar problemas operativos e tamén crear puntos cegos ao eliminar permisos. Tamén é importante eliminar os roles non utilizados e inactivos.
  3. Establecer políticas de rede: illar os módulos para limitar o acceso a eles; permitir explícitamente o acceso a Internet a aqueles módulos que o precisen mediante etiquetas; Permitir explícitamente a comunicación entre aqueles módulos que precisan comunicarse entre si. 

Como organizar a vixilancia dos contedores e servizos neles

Seguridade e vixilancia - principais problemas das empresas ao despregar clústeres de Kubernetes. Os desenvolvedores sempre están máis centrados nas características das aplicacións que desenvolven que nos aspectos seguimento destas aplicacións

Recomendacións de Gartner:

  1. Intente supervisar o estado dos contedores ou servizos nos mesmos xunto coa vixilancia dos sistemas host.
  2. Busca provedores e ferramentas cunha integración profunda na orquestración de contedores, especialmente Kubernetes.
  3. Escolle ferramentas que proporcionan rexistros detallados, descubrimento automático de servizos e recomendacións en tempo real mediante análises e/ou aprendizaxe automática.

O blog de SolarWinds aconsella:

  1. Use ferramentas para descubrir e rastrexar automaticamente as métricas do contedor, correlacionando as métricas de rendemento como CPU, memoria e tempo de actividade.
  2. Asegurar unha planificación óptima da capacidade predicindo as datas de esgotamento da capacidade baseándose nas métricas de seguimento de contedores.
  3. Supervisa a dispoñibilidade e o rendemento das aplicacións en contedores, útiles tanto para a planificación da capacidade como para a resolución de problemas de rendemento.
  4. Automatiza os fluxos de traballo proporcionando soporte de xestión e escalado para contedores e os seus contornos de hospedaxe.
  5. Automatiza o control de acceso para supervisar a túa base de usuarios, desactivar as contas obsoletas e de invitados e eliminar privilexios innecesarios.
  6. Asegúrate de que o teu conxunto de ferramentas poida supervisar estes contedores e aplicacións en varios ambientes (nube, local ou híbrido) para visualizar e comparar o rendemento en infraestruturas, redes, sistemas e aplicacións.

Como almacenar datos e garantir a súa seguridade

Co aumento dos contedores de traballadores con estado, os clientes deben considerar a presenza de datos fóra do host e a necesidade de protexer eses datos. 

Conforme Enquisa de Portworx e Aqua Security, a seguridade dos datos encabeza a lista de problemas de seguridade citados pola maioría dos entrevistados (61%). 

O cifrado de datos é a principal estratexia de seguridade (64%), pero os enquisados ​​tamén usan a supervisión do tempo de execución

(49%), dixitalización de rexistros para detectar vulnerabilidades (49%), dixitalización de vulnerabilidades en canalizacións CI/CD (49%) e bloqueo de anomalías mediante a protección en tempo de execución (48%).

Recomendacións de Gartner:

  1. Elixe solucións de almacenamento baseadas en principios arquitectura de microservizos. É mellor centrarse nos que cumpren os requisitos de almacenamento de datos para servizos de contedores, son independentes do hardware, están dirixidos por API, teñen unha arquitectura distribuída, admiten a implantación local e a implantación na nube pública.
  2. Evite plugins e interfaces propietarios. Escolla provedores que ofrezan integración de Kubernetes e admitan interfaces estándar como CSI (Interfaces de almacenamento de contedores).

Como traballar con redes

O modelo tradicional de rede empresarial, onde os equipos de TI crean ambientes de desenvolvemento, probas, garantía de calidade e produción en rede para cada proxecto, non sempre encaixa ben co fluxo de traballo de desenvolvemento continuo. Ademais, as redes de contedores abarcan varias capas.

В recolleu o blog Magalix regras de alto nivel que debe cumprir a implementación dunha solución de rede de clúster:

  1. Os pods programados no mesmo nodo deben poder comunicarse con outros pods sen usar NAT (Network Address Translation).
  2. Todos os daemons do sistema (procesos en segundo plano como kubelet) que se executan nun nodo concreto poden comunicarse cos pods que se executan no mesmo nodo.
  3. Usando vainas rede host, debe poder comunicarse con todos os outros pods en todos os outros nodos sen usar NAT. Ten en conta que as redes de host só son compatibles con hosts Linux.

As solucións de rede deben estar estreitamente integradas coas primitivas e políticas de Kubernetes. Os líderes de TI deben esforzarse por conseguir un alto grao de automatización da rede e proporcionar aos desenvolvedores as ferramentas adecuadas e a flexibilidade suficiente.

Recomendacións de Gartner:

  1. Descubra se o seu CaaS (contedor como servizo) ou a súa SDN (Software Defined Network) admite redes Kubernetes. Se non é así ou o soporte é insuficiente, utiliza a interface de rede CNI (Container Network Interface) para os teus contedores, que admite as funcionalidades e as políticas necesarias.
  2. Asegúrate de que o teu CaaS ou PaaS (plataforma como servizo) admita a creación de controladores de entrada e/ou equilibradores de carga que distribúan o tráfico entrante entre os nodos do clúster. Se esta non é unha opción, explora o uso de proxies ou mallas de servizo de terceiros.
  3. Adestra aos teus enxeñeiros de rede en redes Linux e ferramentas de automatización de redes para reducir a brecha de habilidades e aumentar a axilidade.

Como xestionar o ciclo de vida da aplicación

Para a entrega de aplicacións automatizada e sen problemas, cómpre complementar a orquestración de contedores con outras ferramentas de automatización, como produtos de infraestrutura como código (IaC). Estes inclúen Chef, Puppet, Ansible e Terraform. 

Tamén son necesarias ferramentas de automatización para crear e lanzar aplicacións (consulte “Cuadrante máxico para a orquestración de lanzamento de aplicacións"). Os contedores tamén proporcionan capacidades de extensibilidade similares ás dispoñibles ao despregar máquinas virtuais (VM). Polo tanto, os líderes de TI deben ter Ferramentas de xestión do ciclo de vida dos contedores.

Recomendacións de Gartner:

  1. Establece estándares para as imaxes do contedor base en función do tamaño, a licenza e a flexibilidade para que os desenvolvedores poidan engadir compoñentes.
  2. Use sistemas de xestión de configuración para xestionar o ciclo de vida dos contedores que superan a configuración en función de imaxes base situadas en repositorios públicos ou privados.
  3. Integra a túa plataforma CaaS con ferramentas de automatización para automatizar todo o fluxo de traballo da túa aplicación.

Como xestionar contedores con orquestradores

A funcionalidade básica para a implantación de contedores ofrécese nas capas de orquestración e planificación. Durante a programación, os contedores colócanse nos hosts máis óptimos do clúster, segundo o ditado polos requisitos da capa de orquestración. 

Kubernetes converteuse no estándar de orquestración de contedores de facto cunha comunidade activa e é compatible coa maioría dos principais provedores comerciais. 

Recomendacións de Gartner:

  1. Definir requisitos básicos para controis de seguridade, seguimento, xestión de políticas, persistencia de datos, redes e xestión do ciclo de vida do contedor.
  2. En función destes requisitos, seleccione a ferramenta que mellor se adapte aos seus requisitos e casos de uso.
  3. Use a investigación de Gartner (consulte "Como elixir un modelo de implantación de Kubernetes") para comprender os pros e os contras dos diferentes modelos de implantación de Kubernetes e escoller o mellor para a súa aplicación.
  4. Seleccione un provedor que poida proporcionar orquestración híbrida para contedores de traballo en varios ambientes cunha estreita integración de backend, plans de xestión comúns e modelos de prezos consistentes.

Como usar as capacidades dos provedores de nube

Gartner creese interese por implantar contedores en IaaS na nube pública está crecendo debido á dispoñibilidade de ofertas de CaaS preparadas, así como á estreita integración destas ofertas con outros produtos ofrecidos polos provedores de nube.

As nubes IaaS ofrecen consumo de recursos baixo demanda, escalabilidade rápida e xestión do servizo, o que contribuirá a evitar a necesidade dun coñecemento profundo da infraestrutura e do seu mantemento. A maioría dos provedores de nube ofrecen un servizo de xestión de contedores e algúns ofrecen varias opcións de orquestración. 

Os principais provedores de servizos xestionados na nube preséntanse na táboa: 

Provedor de nube
Tipo de servizo
Produto/servizo

Alibaba
Servizo nativo na nube
Alibaba Cloud Container Service, Alibaba Cloud Container Service para Kubernetes

Amazon Web Services (AWS)
Servizo nativo na nube
Amazon Elastic Container Services (ECS), Amazon ECS para Kubernetes (EKS), AWS Fargate

Enxame Xigante
MSP
Infraestrutura Kubernetes xestionada por Giant Swarm

Google
Servizo nativo na nube
Motor de contedores de Google (GKE)

IBM
Servizo nativo na nube
Servizo IBM Cloud Kubernetes

Microsoft
Servizo nativo na nube
Azure Kubernetes Service, Azure Service Fabric

oráculo
Servizo nativo na nube
OCI Container Engine para Kubernetes

Plataforma9
MSP
Kubernetes xestionado

Red Hat
Servizo aloxado
OpenShift dedicado e en liña

VMware
Servizo aloxado
Cloud PKS (Beta)

Solucións na nube de Mail.ru*
Servizo nativo na nube
Contedores na nube de Mail.ru

* Non o ocultaremos, engadímonos aquí durante a tradución :)

Os provedores de nube pública tamén están engadindo novas capacidades e lanzando produtos locais. Nun futuro próximo, os provedores de nube desenvolverán soporte para nubes híbridas e ambientes multinube. 

Recomendacións de Gartner:

  1. Avalía obxectivamente a capacidade da túa organización para implantar e xestionar ferramentas adecuadas e considera servizos alternativos de xestión de contedores na nube.
  2. Escolla o software con coidado, use código aberto sempre que sexa posible.
  3. Escolla provedores con modelos operativos comúns en contornas híbridas que ofrezan unha única xestión de clústeres federados, así como provedores que faciliten o autoaloxamento de IaaS.

Algúns consellos para escoller un provedor de aaS de Kubernetes no blog de Replex:

  1. Paga a pena buscar distribucións que admitan alta dispoñibilidade fóra da caixa. Isto inclúe soporte para varias arquitecturas principais, compoñentes etcd altamente dispoñibles e copia de seguridade e recuperación.
  2. Para garantir a mobilidade nos teus contornos de Kubernetes, é mellor escoller provedores de nube que admitan unha ampla gama de modelos de implantación, desde locais ata híbridos ou multinube. 
  3. As ofertas dos provedores tamén deben avaliarse en función da facilidade de configuración, instalación e creación de clústeres, así como actualizacións, seguimento e resolución de problemas. O requisito básico é admitir actualizacións de clúster totalmente automatizadas sen tempo de inactividade. A solución que escollas tamén debería permitirche executar actualizacións manualmente. 
  4. A xestión da identidade e do acceso é importante tanto desde a perspectiva de seguridade como de goberno. Asegúrate de que a distribución de Kubernetes que escollas admita a integración coas ferramentas de autenticación e autorización que utilizas internamente. O RBAC e o control de acceso detallado tamén son conxuntos de funcións importantes.
  5. A distribución que elixas debe ter unha solución de rede definida por software nativa que cubra unha ampla gama de requisitos de aplicación ou infraestrutura diferentes, ou admitir unha das implementacións de rede populares baseadas en CNI, incluíndo Flannel, Calico, kube-router ou OVN.

A introdución de envases na produción estase a converter na principal dirección, como demostran os resultados dunha enquisa realizada en Sesións de Gartner sobre infraestruturas, operacións e estratexias de nube (IOCS) en decembro de 2018:

Mellores prácticas e boas prácticas para executar contedores e Kubernetes en entornos de produción
Como podedes ver, o 27% dos enquisados ​​xa utiliza contedores no seu traballo, e o 63% ten previsto facelo.

В Enquisa de Portworx e Aqua Security O 24% dos entrevistados informou de investir máis de medio millón de dólares ao ano en tecnoloxías de contedores, e o 17% dos enquisados ​​gastaron máis dun millón de dólares ao ano nelas. 

Artigo elaborado polo equipo da plataforma na nube Solucións na nube Mail.ru.

Que máis ler sobre o tema:

  1. Mellores prácticas de DevOps: Informe DORA.
  2. Kubernetes no espírito da piratería cun modelo para a súa implementación.
  3. 25 Ferramentas útiles para a implantación e adopción de Kubernetes.

Fonte: www.habr.com

Engadir un comentario