Line 53: |
Line 53: |
| </div><br><br> | | </div><br><br> |
| | | |
− | <h2>Dossier d’affaires</h2> | + | <h2>Sommaire opérationnel</h2> |
| <p>Les conteneurs d’applications sont de plus en plus utilisés dans l’infrastructure pour les applications infonuagiques natives et les applications de microservices. Plus précisément, Docker est le moteur le plus couramment utilisé pour créer des conteneurs. De nombreux développeurs d’applications ont noté la valeur des conteneurs dans la gestion des dépendances, car ceux-ci regroupent l’application et ses dépendances, les bibliothèques et les autres éléments binaires dans un conteneur pour éliminer les différences dans la distribution du système d’exploitation et l’infrastructure sous-jacente. Cela résout de nombreux problèmes causés par les différences dans les environnements d’exécution lorsqu’un logiciel passe d’un environnement à un autre.</p> | | <p>Les conteneurs d’applications sont de plus en plus utilisés dans l’infrastructure pour les applications infonuagiques natives et les applications de microservices. Plus précisément, Docker est le moteur le plus couramment utilisé pour créer des conteneurs. De nombreux développeurs d’applications ont noté la valeur des conteneurs dans la gestion des dépendances, car ceux-ci regroupent l’application et ses dépendances, les bibliothèques et les autres éléments binaires dans un conteneur pour éliminer les différences dans la distribution du système d’exploitation et l’infrastructure sous-jacente. Cela résout de nombreux problèmes causés par les différences dans les environnements d’exécution lorsqu’un logiciel passe d’un environnement à un autre.</p> |
| <p class="inline">Les conteneurs améliorent la portabilité et l’évolutivité des applications, ce qui permet à ces dernières d’être publiées et mises à jour de manière simple et rapide, sans temps d’arrêt. Cependant, il existe encore une demande liée à la gestion des conteneurs lorsque les services fournis doivent être déployés dans une grappe de serveurs hôtes pour obtenir une haute disponibilité et une reprise après sinistre. C’est là que le déploiement des conteneurs en grappes et les outils de gestion comme Kubernetes offrent une valeur ajoutée. Les développeurs peuvent maintenant commencer à déployer et à orchestrer les services comme une collection de conteneurs dans une grappe de serveurs. Les besoins en ressources pour les conteneurs peuvent être explicitement déclarés, ce qui permet aux développeurs de regrouper le code de l’application avec des configurations d’environnement. </p><p class="expand inline mw-collapsible-content">De plus, en augmentant la densité des conteneurs, les ressources peuvent être utilisées plus efficacement, ce qui améliore l’utilisation du matériel <ref>Clayton, T. and Watson, R. (2018). Using Kubernetes to Orchestrate Container-Based Cloud and Microservices Applications. [online] Gartner.com. Disponible à : <i>[https://www.gartner.com/doc/3873073/using-kubernetes-orchestrate-containerbased-cloud] </i></ref>. Les conteneurs permettent d’isoler les applications, de sorte qu’une équipe de développement peut être désignée responsable de conteneurs spécifiques.</p> | | <p class="inline">Les conteneurs améliorent la portabilité et l’évolutivité des applications, ce qui permet à ces dernières d’être publiées et mises à jour de manière simple et rapide, sans temps d’arrêt. Cependant, il existe encore une demande liée à la gestion des conteneurs lorsque les services fournis doivent être déployés dans une grappe de serveurs hôtes pour obtenir une haute disponibilité et une reprise après sinistre. C’est là que le déploiement des conteneurs en grappes et les outils de gestion comme Kubernetes offrent une valeur ajoutée. Les développeurs peuvent maintenant commencer à déployer et à orchestrer les services comme une collection de conteneurs dans une grappe de serveurs. Les besoins en ressources pour les conteneurs peuvent être explicitement déclarés, ce qui permet aux développeurs de regrouper le code de l’application avec des configurations d’environnement. </p><p class="expand inline mw-collapsible-content">De plus, en augmentant la densité des conteneurs, les ressources peuvent être utilisées plus efficacement, ce qui améliore l’utilisation du matériel <ref>Clayton, T. and Watson, R. (2018). Using Kubernetes to Orchestrate Container-Based Cloud and Microservices Applications. [online] Gartner.com. Disponible à : <i>[https://www.gartner.com/doc/3873073/using-kubernetes-orchestrate-containerbased-cloud] </i></ref>. Les conteneurs permettent d’isoler les applications, de sorte qu’une équipe de développement peut être désignée responsable de conteneurs spécifiques.</p> |
| <p>Kubernetes, également connu sous le nom de K8s, est une plateforme de source ouverte portable et extensible qui sert à gérer les charges de travail et les services conteneurisés, ce qui facilite la configuration déclarative et l’automatisation. Cette plateforme fournit un environnement de gestion axé sur le conteneur. Elle orchestre les ressources machines, la mise en réseau et l’infrastructure de stockage pour les charges de travail des utilisateurs. De plus, Kubernetes offre des fonctions d’autoguérison, de déploiement automatisé et de retours arrière, qui améliorent considérablement la haute disponibilité et la souplesse des opérations. L’un des plus grands avantages de Kubernetes est sa souplesse. De nombreuses intégrations PaaS dictent des cadres spécifiques, sont adaptées à des charges de travail spécifiques ou imposent des restrictions quant aux durées d’exécution de langages qui peuvent être utilisées<ref>Clayton, T. and Watson, R. (2018). Using Kubernetes to Orchestrate Container-Based Cloud and Microservices Applications. [online] Gartner.com. Disponible à : <i>[https://www.gartner.com/doc/3873073/using-kubernetes-orchestrate-containerbased-cloud] </i></ref>. Ces problèmes sont tous éliminés avec Kubernetes. Par conséquent, si l’application d’une organisation peut être exécutée dans un conteneur, Kubernetes est une option viable pour l’orchestration du conteneur.</p> | | <p>Kubernetes, également connu sous le nom de K8s, est une plateforme de source ouverte portable et extensible qui sert à gérer les charges de travail et les services conteneurisés, ce qui facilite la configuration déclarative et l’automatisation. Cette plateforme fournit un environnement de gestion axé sur le conteneur. Elle orchestre les ressources machines, la mise en réseau et l’infrastructure de stockage pour les charges de travail des utilisateurs. De plus, Kubernetes offre des fonctions d’autoguérison, de déploiement automatisé et de retours arrière, qui améliorent considérablement la haute disponibilité et la souplesse des opérations. L’un des plus grands avantages de Kubernetes est sa souplesse. De nombreuses intégrations PaaS dictent des cadres spécifiques, sont adaptées à des charges de travail spécifiques ou imposent des restrictions quant aux durées d’exécution de langages qui peuvent être utilisées<ref>Clayton, T. and Watson, R. (2018). Using Kubernetes to Orchestrate Container-Based Cloud and Microservices Applications. [online] Gartner.com. Disponible à : <i>[https://www.gartner.com/doc/3873073/using-kubernetes-orchestrate-containerbased-cloud] </i></ref>. Ces problèmes sont tous éliminés avec Kubernetes. Par conséquent, si l’application d’une organisation peut être exécutée dans un conteneur, Kubernetes est une option viable pour l’orchestration du conteneur.</p> |
| | | |
− | <h2>Mémoire technique</h2> | + | <h2>Sommaire technique</h2> |
| <p>Le déploiement ou la grappe Kubernetes peut être décomposé en plusieurs composantes. Le « maître » Kubernetes est la machine chargée de gérer d’autres machines de travail appelées « nœuds », lesquelles sont chargées d’exécuter les tâches qui lui sont transmises par l’utilisateur ou le maître. Le maître et les nœuds peuvent être des machines physiques ou virtuelles. Dans chaque grappe Kubernetes, il y a une machine maître et plusieurs nœuds. L’objectif principal de Kubernetes est de parvenir à la « gestion de l’état souhaité ». Le maître reçoit une configuration spécifique par le biais de son interface (API) RESTful et l’expose à l’utilisateur; le maître est alors responsable de l’exécution de cette configuration sur son ensemble de « nœuds ». En fait, les nœuds peuvent être considérés comme une multitude de conteneurs. Ils communiquent avec le maître par l’intermédiaire de l’agent dans chaque nœud – il s’agit du processus « Kubelet ». Par ailleurs, pour établir une configuration spécifique, le maître reçoit un fichier de déploiement comportant l’extension « .yaml », lequel contient divers renseignements sur la configuration. Parmi ces renseignements, on retrouve les « Pods » et les « répliques ». Dans Kubernetes, il existe un concept de « Pod », qui peut être décrit comme une collection logique de conteneurs qui sont gérés comme une seule application. Les ressources peuvent être partagées au sein d’un Pod et comprennent le stockage partagé (volumes), une grappe d’adresses IP uniques, et des renseignements sur la façon d’exécuter chaque conteneur. Un Pod peut être considéré comme l’unité de base du modèle objet Kubernetes; il représente le déploiement d’une seule instance d’une application dans Kubernetes<ref>Kubernetes.io. (2018). Kubernetes Basics - Kubernetes. [online] Disponible à : <i>[https://kubernetes.io/docs/tutorials/kubernetes-basics/] </i></ref>. modèles de déploiement des Pods au sein d’une grappe. Le terme « un Pod par conteneur » signifie qu’un seul Pod sera associé à un seul conteneur. Il peut également y avoir plusieurs conteneurs qui fonctionnent dans un même Pod, où ces conteneurs peuvent devoir communiquer entre eux, car ils partagent des ressources. Dans l’un ou l’autre modèle, le Pod peut être considéré comme une enveloppe autour des conteneurs d’applications. Kubernetes gère les instances Pod plutôt que de gérer directement les conteneurs. Les Pods sont exécutés sur les nœuds pour effectuer des tâches. Quant aux répliques, il s’agit simplement d’instances des Pods. Dans le fichier de déploiement « .yaml », les spécifications indiquent à la machine « maître » combien d’instances ou de répliques de chaque Pod doivent être exécutées – une tâche gérée par un contrôleur de réplication<ref>Kubernetes.io. (2018). Kubernetes Basics - Kubernetes. [online] Disponible à : <i>[https://kubernetes.io/docs/tutorials/kubernetes-basics/] </i></ref>. Lorsqu’un nœud meurt ou qu’un Pod en cours d’exécution subit une terminaison inattendue, le contrôleur de réplication en prendra note et s’en occupera en créant le nombre approprié de Pods<ref>Kubernetes.io. (2018). Kubernetes Basics - Kubernetes. [online] Disponible à : <i>[https://kubernetes.io/docs/tutorials/kubernetes-basics/] </i></ref>.</p> | | <p>Le déploiement ou la grappe Kubernetes peut être décomposé en plusieurs composantes. Le « maître » Kubernetes est la machine chargée de gérer d’autres machines de travail appelées « nœuds », lesquelles sont chargées d’exécuter les tâches qui lui sont transmises par l’utilisateur ou le maître. Le maître et les nœuds peuvent être des machines physiques ou virtuelles. Dans chaque grappe Kubernetes, il y a une machine maître et plusieurs nœuds. L’objectif principal de Kubernetes est de parvenir à la « gestion de l’état souhaité ». Le maître reçoit une configuration spécifique par le biais de son interface (API) RESTful et l’expose à l’utilisateur; le maître est alors responsable de l’exécution de cette configuration sur son ensemble de « nœuds ». En fait, les nœuds peuvent être considérés comme une multitude de conteneurs. Ils communiquent avec le maître par l’intermédiaire de l’agent dans chaque nœud – il s’agit du processus « Kubelet ». Par ailleurs, pour établir une configuration spécifique, le maître reçoit un fichier de déploiement comportant l’extension « .yaml », lequel contient divers renseignements sur la configuration. Parmi ces renseignements, on retrouve les « Pods » et les « répliques ». Dans Kubernetes, il existe un concept de « Pod », qui peut être décrit comme une collection logique de conteneurs qui sont gérés comme une seule application. Les ressources peuvent être partagées au sein d’un Pod et comprennent le stockage partagé (volumes), une grappe d’adresses IP uniques, et des renseignements sur la façon d’exécuter chaque conteneur. Un Pod peut être considéré comme l’unité de base du modèle objet Kubernetes; il représente le déploiement d’une seule instance d’une application dans Kubernetes<ref>Kubernetes.io. (2018). Kubernetes Basics - Kubernetes. [online] Disponible à : <i>[https://kubernetes.io/docs/tutorials/kubernetes-basics/] </i></ref>. modèles de déploiement des Pods au sein d’une grappe. Le terme « un Pod par conteneur » signifie qu’un seul Pod sera associé à un seul conteneur. Il peut également y avoir plusieurs conteneurs qui fonctionnent dans un même Pod, où ces conteneurs peuvent devoir communiquer entre eux, car ils partagent des ressources. Dans l’un ou l’autre modèle, le Pod peut être considéré comme une enveloppe autour des conteneurs d’applications. Kubernetes gère les instances Pod plutôt que de gérer directement les conteneurs. Les Pods sont exécutés sur les nœuds pour effectuer des tâches. Quant aux répliques, il s’agit simplement d’instances des Pods. Dans le fichier de déploiement « .yaml », les spécifications indiquent à la machine « maître » combien d’instances ou de répliques de chaque Pod doivent être exécutées – une tâche gérée par un contrôleur de réplication<ref>Kubernetes.io. (2018). Kubernetes Basics - Kubernetes. [online] Disponible à : <i>[https://kubernetes.io/docs/tutorials/kubernetes-basics/] </i></ref>. Lorsqu’un nœud meurt ou qu’un Pod en cours d’exécution subit une terminaison inattendue, le contrôleur de réplication en prendra note et s’en occupera en créant le nombre approprié de Pods<ref>Kubernetes.io. (2018). Kubernetes Basics - Kubernetes. [online] Disponible à : <i>[https://kubernetes.io/docs/tutorials/kubernetes-basics/] </i></ref>.</p> |
| | | |