Meilleures pratiques et directives pour le lancement de conteneurs et de Kubernetes dans des environnements de production


L'Ă©cosystĂšme des technologies de conteneurisation se dĂ©veloppe et change rapidement. Par consĂ©quent, les bonnes pratiques de travail font dĂ©faut dans ce domaine. NĂ©anmoins, Kubernetes et les conteneurs sont de plus en plus utilisĂ©s - Ă  la fois pour la mise Ă  niveau d'anciennes applications et pour le dĂ©veloppement d'applications cloud modernes. 

L'équipe Mail.ru Kubernetes aaS a rassemblé des prévisions, des conseils et des meilleures pratiques pour les leaders du marché de Gartner, 451 Research, StacxRox et autres. Ils permettront et accéléreront le déploiement des conteneurs dans les environnements de production.

Comment savoir si votre entreprise est prĂȘte Ă  dĂ©ployer des conteneurs dans un environnement de production


Selon Gartner , en 2022, plus de 75% des organisations utiliseront des applications conteneurisĂ©es en production. C'est nettement plus qu'Ă  l'heure actuelle, lorsque moins de 30% des entreprises utilisent de telles applications. 

Selon 451 Research , le marché prévu pour l'utilisation des technologies de conteneurs en 2022 sera de 4,3 milliards de dollars, soit plus du double du montant prévu en 2019, avec un taux de croissance du marché de 30%.

Dans une enquĂȘte rĂ©alisĂ©e par Portworx et Aqua Security, 87% des rĂ©pondants ont dĂ©clarĂ© qu'ils utilisent actuellement la technologie des conteneurs. À titre de comparaison, en 2017, il y avait 55% de ces rĂ©pondants. 

MalgrĂ© l'intĂ©rĂȘt et la croissance croissants pour l'introduction des conteneurs, leur lancement en production nĂ©cessite une formation en raison de l'immaturitĂ© technologique et du manque de savoir-faire. Les organisations doivent examiner de maniĂšre rĂ©aliste les processus mĂ©tier qui nĂ©cessitent une conteneurisation des applications. Les responsables informatiques doivent Ă©valuer s'ils possĂšdent un ensemble de compĂ©tences pour aller de l'avant avec la nĂ©cessitĂ© d'une formation rapide. 

Les experts de Gartner pensent que les questions de la figure ci-dessous vous aideront Ă  comprendre si vous ĂȘtes prĂȘt Ă  dĂ©ployer des conteneurs en production:


Les erreurs les plus courantes lors de l'utilisation de conteneurs en production


Les organisations sous-estiment souvent l'effort requis pour faire fonctionner les conteneurs en production. Gartner a découvert plusieurs erreurs courantes dans les scripts clients lors de l'utilisation de conteneurs dans des environnements de production:


Comment assurer la sécurité des conteneurs


La sĂ©curitĂ© ne peut pas ĂȘtre traitĂ©e "plus tard". Il doit ĂȘtre intĂ©grĂ© dans le processus DevOps, donc mĂȘme un terme spĂ©cial est apparu - DevSecOps. Les organisations doivent planifier la protection de l'environnement du conteneur tout au long du cycle de vie du dĂ©veloppement, ce qui inclut le processus d'assemblage et de dĂ©veloppement, le dĂ©ploiement et le lancement de l'application.

Recommandations de Gartner

  1. / (CI/CD). . , . — .
  2. Center for Internet Security (CIS), Docker, Kubernetes.
  3. Assurez-vous d'appliquer le contrĂŽle d'accĂšs, de sĂ©parer les tĂąches et de mettre en Ɠuvre une politique de gestion de la sĂ©curitĂ©. Les informations confidentielles, telles que les clĂ©s SSL (Secure Sockets Layer) ou les informations d'identification de la base de donnĂ©es, sont chiffrĂ©es par l'orchestre ou des services de gestion tiers et sont fournies au moment de l'exĂ©cution
  4. Évitez les conteneurs de privilĂšges Ă©levĂ©s en gĂ©rant les politiques de sĂ©curitĂ©, cela rĂ©duira les risques potentiels de piratage.
  5. Utilisez des outils de sĂ©curitĂ© qui fournissent une liste blanche, une surveillance comportementale et une dĂ©tection des anomalies pour empĂȘcher les activitĂ©s malveillantes.

Recommandations de StacxRox :

  1. Kubernetes. , . , , . , . . 
  2. . , , , « » . , .
  3. DĂ©finissez des politiques de rĂ©seau: isolez les modules pour en restreindre l'accĂšs; autoriser explicitement l'accĂšs Internet aux modules qui en ont besoin Ă  l'aide d'Ă©tiquettes; autoriser explicitement la communication entre les modules qui doivent communiquer entre eux. 

Comment organiser le suivi des conteneurs et des services qui s'y trouvent


La sécurité et la surveillance sont les principales préoccupations des entreprises lors du déploiement de clusters Kubernetes. Les développeurs sont toujours plus concentrés sur les fonctionnalités des applications qu'ils développent que sur les aspects de surveillance de ces applications

Recommandations de Gartner :

  1. Essayez de surveiller l'Ă©tat des conteneurs ou des services qu'ils contiennent en surveillant les systĂšmes hĂŽtes.
  2. Privilégiez les fabricants et les instruments avec une intégration profonde dans l'orchestration de conteneurs, en particulier Kubernetes.
  3. Choisissez des outils qui fournissent une journalisation détaillée, une découverte automatique des services et des recommandations en temps réel à l'aide d'analyses et / ou d'apprentissage automatique.

Le blog SolarWinds conseille :

  1. Utilisez des outils pour détecter et suivre automatiquement les mesures des conteneurs, corréler les mesures de performances telles que le processeur, la mémoire et la disponibilité.
  2. Assurer une planification optimale de la capacité en prédisant le moment de l'épuisement de la capacité en fonction des indicateurs de surveillance des conteneurs.
  3. , , , , .
  4. , .
  5. , , , .
  6. , (, ) , , .


Avec l'augmentation du nombre de conteneurs de travail avec conservation de l'Ă©tat, les clients doivent prendre en compte l'emplacement des donnĂ©es en dehors de l'hĂŽte, ainsi que la nĂ©cessitĂ© de protĂ©ger ces donnĂ©es. 

Selon une enquĂȘte rĂ©alisĂ©e par Portworx et Aqua Security , la sĂ©curitĂ© des donnĂ©es occupe la premiĂšre place dans la liste des problĂšmes de sĂ©curitĂ© relevĂ©s par la majoritĂ© des rĂ©pondants (61%). 

Le chiffrement des données est la principale stratégie de sécurité (64%), mais les répondants utilisent également la surveillance de l'exécution (49%), l'analyse de la vulnérabilité du registre (49%), l'analyse de la vulnérabilité dans les pipelines CI / CD (49%) et le blocage des anomalies via la protection de l'exécution (48%).

Recommandations de Gartner :

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


Le modĂšle de rĂ©seau d'entreprise traditionnel, oĂč les spĂ©cialistes informatiques crĂ©ent des environnements rĂ©seau pour le dĂ©veloppement, les tests, l'assurance qualitĂ© et la production pour chaque projet, n'est pas toujours en bon accord avec le flux de travail de dĂ©veloppement continu. De plus, les rĂ©seaux de conteneurs s'Ă©tendent sur plusieurs niveaux.

Le blog Magalix a compilĂ© des rĂšgles de haut niveau que la mise en Ɠuvre d'une solution cluster-rĂ©seau doit respecter:

  1. Les pods planifiĂ©s sur le mĂȘme nƓud doivent pouvoir communiquer avec d'autres modules sans utiliser NAT (traduction d'adresse rĂ©seau).
  2. Tous les dĂ©mons systĂšme (processus d'arriĂšre-plan, par exemple kubelet) s'exĂ©cutant sur un nƓud particulier peuvent interagir avec les pods s'exĂ©cutant sur le mĂȘme nƓud.
  3. Les pods qui utilisent le rĂ©seau hĂŽte doivent pouvoir communiquer avec tous les autres pods sur tous les autres nƓuds sans utiliser NAT. Notez que le rĂ©seau hĂŽte n'est pris en charge que sur les hĂŽtes Linux.

Les solutions de mise en rĂ©seau doivent ĂȘtre Ă©troitement intĂ©grĂ©es aux primitives et politiques Kubernetes. Les responsables informatiques doivent viser un degrĂ© Ă©levĂ© d'automatisation du rĂ©seau, fournir aux dĂ©veloppeurs les bons outils et une flexibilitĂ© suffisante.

Recommandations de Gartner :

  1. Découvrez si votre CaaS (conteneur en tant que service) ou vos réseaux Kubernetes SDN (Software Defined Network) sont pris en charge. Si ce n'est pas le cas ou si la prise en charge est insuffisante, utilisez l'interface réseau du conteneur (CNI) pour vos conteneurs, qui prend en charge les fonctionnalités et les politiques nécessaires.
  2. , CaaS PaaS ( ) / , . , service mesh.
  3. Linux , .


Pour une livraison d'applications automatisĂ©e et ininterrompue, vous devez complĂ©ter l'orchestration des conteneurs avec d'autres outils d'automatisation, tels que des produits d'infrastructure comme le code (IaC). Il s'agit notamment de Chef, Puppet, Ansible et Terraform. 

Des outils d'automatisation sont également nécessaires pour assembler et déployer des applications (voir «Le Magic Quadrant pour l'orchestration des versions d'application »). Les conteneurs offrent également des capacités d'extension similaires à celles qui existaient lors du déploiement de machines virtuelles (VM). Par conséquent, les responsables informatiques doivent disposer d' outils de gestion du cycle de vie des conteneurs .

Recommandations de Gartner :

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


Les fonctionnalitĂ©s clĂ©s pour le dĂ©ploiement de conteneurs sont fournies au niveau de l'orchestration et de la planification. Lors de la planification des conteneurs sont placĂ©s sur les hĂŽtes les plus optimaux du cluster, comme prescrit par les exigences du niveau d'orchestration. 

Kubernetes est devenu la norme de facto pour l'orchestration de conteneurs avec une communautĂ© active, soutenue par la plupart des principaux fournisseurs commerciaux. 

Recommandations de Gartner :

  1. Définissez les exigences de base pour les contrÎles de sécurité, la surveillance, la gestion des politiques, le stockage des données, la gestion du réseau et le cycle de vie des conteneurs.
  2. En fonction de ces exigences, sélectionnez l'outil qui convient le mieux à vos exigences et à vos scénarios d'utilisation.
  3. Gartner (. « Kubernetes»), Kubernetes .
  4. , , .


Gartner estime que l'intĂ©rĂȘt pour le dĂ©ploiement de conteneurs dans le cloud IaaS public augmente en raison de la disponibilitĂ© d'offres CaaS prĂ©dĂ©finies, ainsi que de l'intĂ©gration Ă©troite de ces offres avec d'autres produits proposĂ©s par les fournisseurs de cloud.

Les clouds IaaS offrent une consommation de ressources Ă  la demande, une Ă©volutivitĂ© rapide et une gestion des services pour Ă©viter d'avoir besoin d'une connaissance approfondie de l'infrastructure et de sa maintenance. La plupart des fournisseurs de cloud proposent des services de gestion de conteneurs et certains offrent plusieurs options d'orchestration. 

Les principaux fournisseurs de services gĂ©rĂ©s dans le cloud sont prĂ©sentĂ©s dans le tableau: 

Fournisseur de cloudType de serviceProduit / Service
AlibabaService cloud natifAlibaba 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

* Ne le cachons pas, nous nous sommes ajoutés ici lors de la traduction :) Les

fournisseurs de clouds publics ajoutent Ă©galement de nouvelles fonctionnalitĂ©s et publient des produits locaux. Dans un avenir proche, les fournisseurs de cloud dĂ©velopperont la prise en charge des clouds hybrides et des environnements multi-cloud. 

Recommandations de Gartner :

  1. Évaluez objectivement la capacitĂ© de votre organisation Ă  dĂ©ployer et Ă  gĂ©rer les outils appropriĂ©s et Ă  envisager d'autres services de gestion de conteneurs cloud.
  2. Choisissez votre logiciel avec soin, utilisez l'open source si possible.
  3. Choisissez des fournisseurs avec des modÚles d'exploitation uniques dans des environnements hybrides qui offrent une gestion intégrée des clusters à partir d'un seul tableau de bord, ainsi que des fournisseurs qui facilitent l'utilisation indépendante de l'IaaS.

Quelques conseils pour choisir un fournisseur Kubernetes aaS sur le blog Replex :

  1. Il vaut la peine de rechercher des distributions qui prennent en charge la haute disponibilitĂ© prĂȘte Ă  l'emploi. Cela inclut la prise en charge de plusieurs architectures de base, des composants etcd haute disponibilitĂ©, ainsi que la sauvegarde et la restauration.
  2. Pour la mobilitĂ© dans les environnements Kubernetes, il est prĂ©fĂ©rable de choisir des fournisseurs de cloud qui prennent en charge un large Ă©ventail de modĂšles de dĂ©ploiement: du local Ă  l'hybride et au multi-cloud. 
  3. Les offres des fournisseurs mĂ©ritent Ă©galement d'ĂȘtre Ă©valuĂ©es, compte tenu de la facilitĂ© de configuration, d'installation et de crĂ©ation de cluster, ainsi que des mises Ă  jour, de la surveillance et du dĂ©pannage. L'exigence de base est la prise en charge des mises Ă  jour de cluster entiĂšrement automatisĂ©es sans temps d'arrĂȘt. La solution que vous choisissez doit Ă©galement vous permettre d'exĂ©cuter les mises Ă  jour manuellement. 
  4. , . , Kubernetes , . RBAC .
  5. , , , CNI, Flannel, Calico, kube-router OVN.

L'introduction de conteneurs dans la production devient l'objectif principal, comme en tĂ©moignent les rĂ©sultats d'une enquĂȘte menĂ©e lors de la session de Gartner sur les infrastructures, les opĂ©rations et les stratĂ©gies cloud (IOCS) en dĂ©cembre 2018:


Comme vous pouvez le voir, 27% des répondants utilisent déjà des conteneurs dans leur travail et 63% vont le faire.

Dans une enquĂȘte rĂ©alisĂ©e par Portworx et Aqua Security, 24% des personnes interrogĂ©es ont dĂ©clarĂ© investir plus d'un demi-million de dollars par an dans la technologie des conteneurs, et 17% des personnes interrogĂ©es y consacrent plus d'un million de dollars par an. 

Cet article a été préparé par l'équipe Mail.ru Cloud Solutions de la plateforme cloud .


All Articles