Bones pràctiques i bones pràctiques per executar contenidors i Kubernetes en entorns de producció

Bones pràctiques i bones pràctiques per executar contenidors i Kubernetes en entorns de producció
L'ecosistema de la tecnologia de contenidors està evolucionant i canviant ràpidament, per la qual cosa hi ha una manca de bones pràctiques de treball en aquest àmbit. Tanmateix, Kubernetes i els contenidors s'utilitzen cada cop més, tant per modernitzar aplicacions heretades com per desenvolupar aplicacions modernes al núvol. 

Equip Kubernetes aaS de Mail.ru va recopilar previsions, consells i bones pràctiques per als líders del mercat de Gartner, 451 Research, StacxRoх i altres. Habilitaran i acceleraran el desplegament de contenidors en entorns de producció.

Com saber si la vostra empresa està preparada per desplegar contenidors en un entorn de producció

Segons Gartner, el 2022, més del 75% de les organitzacions utilitzaran aplicacions en contenidors a la producció. Això és molt més que actualment, quan menys del 30% de les empreses utilitzen aquestes aplicacions. 

Segons Recerca 451El mercat previst per a aplicacions de tecnologia de contenidors el 2022 serà de 4,3 milions de dòlars, més del doble de la quantitat projectada el 2019, amb una taxa de creixement del mercat del 30%.

В Enquesta de Portworx i Aqua Security El 87% dels enquestats va dir que actualment utilitzen tecnologies de contenidors. En comparació, el 2017 hi havia un 55% d'aquests enquestats. 

Malgrat l'interès creixent i l'adopció dels envasos, posar-los en producció requereix una corba d'aprenentatge a causa de la immaduresa tecnològica i la manca de coneixements. Les organitzacions han de ser realistes sobre els processos empresarials que requereixen la contenidorització d'aplicacions. Els líders informàtics haurien d'avaluar si tenen les habilitats per avançar amb la necessitat d'aprendre ràpidament. 

Experts de Gartner Creiem que les preguntes de la imatge següent us ajudaran a determinar si esteu preparat per implementar contenidors en producció:

Bones pràctiques i bones pràctiques per executar contenidors i Kubernetes en entorns de producció

Els errors més comuns a l'hora d'utilitzar contenidors en producció

Les organitzacions sovint subestimen l'esforç necessari per operar els contenidors en producció. va descobrir Gartner Alguns errors comuns en escenaris de clients quan s'utilitzen contenidors en entorns de producció:

Bones pràctiques i bones pràctiques per executar contenidors i Kubernetes en entorns de producció

Com mantenir els contenidors segurs

La seguretat no es pot tractar "més tard". S'ha d'incorporar al procés DevOps, per això fins i tot hi ha un terme especial: DevSecOps. Les organitzacions han de planificar protegint l'entorn del vostre contenidor al llarg del cicle de vida del desenvolupament, que inclou el procés de creació i desenvolupament, el desplegament i el llançament de l'aplicació.

Recomanacions de Gartner

  1. Integreu el procés d'escaneig d'imatges d'aplicacions per detectar vulnerabilitats al vostre pipeline d'integració contínua/entrega contínua (CI/CD). Les aplicacions s'escanegen en les etapes de creació i llançament del programari. Emfatitzeu la necessitat d'escanejar i identificar components, biblioteques i marcs de codi obert. Els desenvolupadors que utilitzen versions antigues i vulnerables és una de les principals causes de les vulnerabilitats dels contenidors.
  2. Milloreu la vostra configuració amb les proves de Center for Internet Security (CIS), que estan disponibles tant per a Docker com per a Kubernetes.
  3. Assegureu-vos d'aplicar els controls d'accés, assegurar la separació de tasques i implementar una política de gestió de secrets. La informació sensible, com ara les claus de Secure Sockets Layer (SSL) o les credencials de la base de dades, és xifrada per l'orquestrador o serveis de gestió de tercers i exposada en temps d'execució.
  4. Eviteu els contenidors elevats gestionant polítiques de seguretat per reduir els possibles riscos d'incompliment.
  5. Utilitzeu eines de seguretat que proporcionen llistes blanques, supervisió del comportament i detecció d'anomalies per evitar activitats malicioses.

Recomanacions de StacxRox:

  1. Aprofiteu les capacitats integrades de Kubernetes. Configureu l'accés per als usuaris que utilitzen rols. Assegureu-vos de no concedir permisos innecessaris a entitats individuals, tot i que pot trigar una mica a pensar en els permisos mínims necessaris. Pot ser temptador donar a l'administrador del clúster privilegis amplis, ja que això estalvia temps inicialment. Tanmateix, qualsevol compromís o error al compte pot tenir conseqüències devastadores més endavant. 
  2. Eviteu els permisos d'accés duplicats. De vegades pot ser útil que els diferents rols es superposen, però això pot provocar problemes operatius i també crear punts cecs en eliminar els permisos. També és important eliminar els rols no utilitzats i inactius.
  3. Establir polítiques de xarxa: aïllar els mòduls per limitar-hi l'accés; permetre explícitament l'accés a Internet a aquells mòduls que ho necessitin mitjançant etiquetes; Permet explícitament la comunicació entre aquells mòduls que necessiten comunicar-se entre ells. 

Com organitzar el seguiment dels contenidors i serveis en ells

Seguretat i vigilància - principals problemes de les empreses en desplegar clústers de Kubernetes. Els desenvolupadors sempre estan més centrats en les característiques de les aplicacions que desenvolupen més que en els aspectes seguiment d'aquestes aplicacions

Recomanacions de Gartner:

  1. Intenteu supervisar l'estat dels contenidors o serveis que hi ha en ells juntament amb la supervisió dels sistemes host.
  2. Busqueu venedors i eines amb una integració profunda en l'orquestració de contenidors, especialment Kubernetes.
  3. Trieu eines que proporcionin registres detallats, descobriment automàtic de serveis i recomanacions en temps real mitjançant anàlisis i/o aprenentatge automàtic.

El bloc de SolarWinds aconsella:

  1. Utilitzeu eines per descobrir i fer un seguiment automàtic de mètriques de contenidors, correlacionant mètriques de rendiment com ara CPU, memòria i temps de funcionament.
  2. Assegureu-vos una planificació òptima de la capacitat predint les dates d'esgotament de la capacitat en funció de les mètriques de monitorització dels contenidors.
  3. Superviseu la disponibilitat i el rendiment de les aplicacions en contenidors, útils tant per a la planificació de la capacitat com per a la resolució de problemes de rendiment.
  4. Automatitzeu els fluxos de treball proporcionant suport de gestió i escala per als contenidors i els seus entorns d'allotjament.
  5. Automatitzeu el control d'accés per supervisar la vostra base d'usuaris, desactivar comptes obsolets i de convidat i eliminar privilegis innecessaris.
  6. Assegureu-vos que el vostre conjunt d'eines pugui supervisar aquests contenidors i aplicacions en diversos entorns (núvol, local o híbrid) per visualitzar i comparar el rendiment de la infraestructura, la xarxa, els sistemes i les aplicacions.

Com emmagatzemar les dades i garantir-ne la seguretat

Amb l'augment dels contenidors de treballadors amb estat, els clients han de tenir en compte la presència de dades fora de l'amfitrió i la necessitat de protegir aquestes dades. 

Segons Enquesta de Portworx i Aqua Security, la seguretat de les dades encapçala la llista de preocupacions de seguretat citades per la majoria dels enquestats (61%). 

El xifratge de dades és la principal estratègia de seguretat (64%), però els enquestats també utilitzen la supervisió del temps d'execució

(49%), escaneig de registres per detectar vulnerabilitats (49%), cercar vulnerabilitats a canalitzacions CI/CD (49%) i bloquejar anomalies mitjançant la protecció en temps d'execució (48%).

Recomanacions de Gartner:

  1. Trieu solucions d'emmagatzematge basades en principis arquitectura de microserveis. És millor centrar-se en aquells que compleixen els requisits d'emmagatzematge de dades per als serveis de contenidors, són independents del maquinari, estan basats en API, tenen una arquitectura distribuïda, admeten el desplegament local i el desplegament al núvol públic.
  2. Eviteu connectors i interfícies propietaris. Trieu proveïdors que proporcionin integració de Kubernetes i admeten interfícies estàndard, com ara CSI (Interfícies d'emmagatzematge de contenidors).

Com treballar amb xarxes

El model de xarxa empresarial tradicional, on els equips informàtics creen entorns de desenvolupament, proves, garantia de qualitat i producció en xarxa per a cada projecte, no sempre s'adapta bé al flux de treball de desenvolupament continu. A més, les xarxes de contenidors abasten diverses capes.

В recull el blog Magalix regles d'alt nivell que ha de complir la implementació d'una solució de xarxa de clúster:

  1. Els pods programats al mateix node han de poder comunicar-se amb altres pods sense utilitzar NAT (Network Address Translation).
  2. Tots els dimonis del sistema (processos en segon pla com ara kubelet) que s'executen en un node concret poden comunicar-se amb els pods que s'executen al mateix node.
  3. Beines utilitzant xarxa d'amfitrió, ha de poder comunicar-se amb tots els altres pods de tots els altres nodes sense utilitzar NAT. Tingueu en compte que les xarxes d'amfitrió només són compatibles amb amfitrions Linux.

Les solucions de xarxa s'han d'integrar estretament amb les primitives i polítiques de Kubernetes. Els líders informàtics haurien d'esforçar-se per aconseguir un alt grau d'automatització de la xarxa i proporcionar als desenvolupadors les eines adequades i la flexibilitat suficient.

Recomanacions de Gartner:

  1. Descobriu si el vostre CaaS (contenidor com a servei) o la vostra SDN (Xarxa definida per programari) admeten xarxes Kubernetes. Si no és així o el suport és insuficient, utilitzeu la interfície de xarxa CNI (Container Network Interface) per als vostres contenidors, que admet la funcionalitat i les polítiques necessàries.
  2. Assegureu-vos que el vostre CaaS o PaaS (plataforma com a servei) admet la creació de controladors d'entrada i/o equilibradors de càrrega que distribueixen el trànsit entrant entre els nodes del clúster. Si aquesta no és una opció, explora l'ús de servidors intermediaris de tercers o malles de servei.
  3. Forma els teus enginyers de xarxa en xarxes Linux i eines d'automatització de xarxes per reduir la bretxa d'habilitats i augmentar l'agilitat.

Com gestionar el cicle de vida de l'aplicació

Per al lliurament d'aplicacions automatitzat i sense problemes, cal que complementeu l'orquestració de contenidors amb altres eines d'automatització, com ara productes d'infraestructura com a codi (IaC). Aquests inclouen Chef, Puppet, Ansible i Terraform. 

També calen eines d'automatització per crear i desplegar aplicacions (vegeu “Quadrant màgic per a l'orquestració de llançament d'aplicacions"). Els contenidors també proporcionen capacitats d'extensibilitat similars a les disponibles en desplegar màquines virtuals (VM). Per tant, els líders informàtics han de tenir Eines de gestió del cicle de vida dels contenidors.

Recomanacions de Gartner:

  1. Estableix estàndards per a les imatges de contenidors base en funció de la mida, les llicències i la flexibilitat perquè els desenvolupadors afegeixin components.
  2. Utilitzeu sistemes de gestió de configuració per gestionar el cicle de vida dels contenidors que superen la configuració en funció d'imatges base ubicades en repositoris públics o privats.
  3. Integra la teva plataforma CaaS amb eines d'automatització per automatitzar tot el teu flux de treball de l'aplicació.

Com gestionar contenidors amb orquestradors

La funcionalitat bàsica per desplegar contenidors es proporciona a les capes d'orquestració i planificació. Durant la programació, els contenidors es col·loquen als hosts més òptims del clúster, tal com ho dicten els requisits de la capa d'orquestració. 

Kubernetes s'ha convertit en l'estàndard d'orquestració de contenidors de facto amb una comunitat activa i compta amb el suport de la majoria de proveïdors comercials líders. 

Recomanacions de Gartner:

  1. Definiu els requisits bàsics per als controls de seguretat, la supervisió, la gestió de polítiques, la persistència de dades, les xarxes i la gestió del cicle de vida dels contenidors.
  2. En funció d'aquests requisits, seleccioneu l'eina que millor s'adapti als vostres requisits i casos d'ús.
  3. Utilitzeu la recerca de Gartner (vegeu "Com triar un model de desplegament de Kubernetes") per entendre els avantatges i els contres dels diferents models de desplegament de Kubernetes i triar el millor per a la vostra aplicació.
  4. Seleccioneu un proveïdor que pugui oferir una orquestració híbrida per a contenidors de treball en diversos entorns amb una integració de backend estreta, plans de gestió comuns i models de preus coherents.

Com utilitzar les capacitats dels proveïdors de núvol

Gartner creuaquest interès per desplegar contenidors en IaaS al núvol públic està creixent a causa de la disponibilitat d'ofertes de CaaS ja fetes, així com de l'estreta integració d'aquestes ofertes amb altres productes que ofereixen els proveïdors de núvol.

Els núvols IaaS ofereixen consum de recursos sota demanda, escalabilitat ràpida i gestió del servei, que ajudarà a evitar la necessitat d'un coneixement profund de la infraestructura i el seu manteniment. La majoria de proveïdors de núvol ofereixen un servei de gestió de contenidors i alguns ofereixen múltiples opcions d'orquestració. 

Els principals proveïdors de serveis gestionats al núvol es presenten a la taula: 

Proveïdor de núvol
Tipus de servei
Producte/servei

Alibaba
Servei de núvol natiu
Alibaba Cloud Container Service, Alibaba Cloud Container Service per a Kubernetes

Serveis web d'Amazon (AWS)
Servei de núvol natiu
Amazon Elastic Container Services (ECS), Amazon ECS per a Kubernetes (EKS), AWS Fargate

Eixam Gegant
MSP
Infraestructura Kubernetes gestionada per Giant Swarm

google
Servei de núvol natiu
Motor de contenidors de Google (GKE)

IBM
Servei de núvol natiu
Servei IBM Cloud Kubernetes

Microsoft
Servei de núvol natiu
Azure Kubernetes Service, Azure Service Fabric

Oracle
Servei de núvol natiu
Motor de contenidors OCI per a Kubernetes

Plataforma9
MSP
Kubernetes gestionat

Red Hat
Servei allotjat
OpenShift dedicat i en línia

VMware
Servei allotjat
Cloud PKS (Beta)

Solucions al núvol de Mail.ru*
Servei de núvol natiu
Contenidors de núvol de Mail.ru

* No ho amagarem, ens hem afegit aquí durant la traducció :)

Els proveïdors de núvols públics també estan afegint noves capacitats i llançant productes locals. En un futur proper, els proveïdors de núvol desenvoluparan suport per a núvols híbrids i entorns multinúvol. 

Recomanacions de Gartner:

  1. Avalueu objectivament la capacitat de la vostra organització per desplegar i gestionar les eines adequades i considereu serveis alternatius de gestió de contenidors al núvol.
  2. Trieu el programari amb cura, feu servir codi obert sempre que sigui possible.
  3. Trieu proveïdors amb models operatius comuns en entorns híbrids que ofereixen una gestió de panell únic de clústers federats, així com proveïdors que facilitin l'autoallotjament d'IaaS.

Alguns consells per triar un proveïdor aaS de Kubernetes al bloc Replex:

  1. Val la pena buscar distribucions que admetin alta disponibilitat fora de la caixa. Això inclou suport per a múltiples arquitectures principals, components etcd d'alta disponibilitat i còpia de seguretat i recuperació.
  2. Per garantir la mobilitat als vostres entorns Kubernetes, el millor és triar proveïdors de núvol que admetin una àmplia gamma de models de desplegament, des de locals fins a híbrids i multinúvol. 
  3. Les ofertes dels proveïdors també s'han d'avaluar en funció de la facilitat de configuració, instal·lació i creació de clústers, així com actualitzacions, supervisió i resolució de problemes. El requisit bàsic és suportar actualitzacions de clúster totalment automatitzades sense temps d'inactivitat. La solució que trieu també us hauria de permetre executar actualitzacions manualment. 
  4. La gestió de la identitat i l'accés és important tant des d'una perspectiva de seguretat com de govern. Assegureu-vos que la distribució de Kubernetes que trieu admet la integració amb les eines d'autenticació i autorització que feu servir internament. RBAC i el control d'accés detallat també són conjunts de funcions importants.
  5. La distribució que trieu ha de tenir una solució de xarxa definida per programari nativa que cobreixi una àmplia gamma de requisits diferents d'aplicacions o d'infraestructura, o bé admeti una de les implementacions de xarxa populars basades en CNI, com ara Flannel, Calico, kube-router o OVN.

La introducció d'envasos a la producció s'està convertint en la direcció principal, tal com demostren els resultats d'una enquesta realitzada a Sessions de Gartner sobre infraestructures, operacions i estratègies al núvol (IOCS) el desembre de 2018:

Bones pràctiques i bones pràctiques per executar contenidors i Kubernetes en entorns de producció
Com podeu veure, el 27% dels enquestats ja utilitzen contenidors a la seva feina, i el 63% té previst fer-ho.

В Enquesta de Portworx i Aqua Security El 24% dels enquestats va declarar invertir més de mig milió de dòlars a l'any en tecnologies de contenidors, i el 17% dels enquestats va gastar més d'un milió de dòlars anuals en elles. 

Article elaborat per l'equip de la plataforma núvol Mail.ru Solucions al núvol.

Què més llegir sobre el tema:

  1. Bones pràctiques de DevOps: Informe DORA.
  2. Kubernetes amb esperit de pirateria amb una plantilla per a la implementació.
  3. 25 eines útils per al desplegament i l'adopció de Kubernetes.

Font: www.habr.com

Afegeix comentari