- Accueil
- Kubernetes
Kubernetes sur AWS
Gestion et orchestration de conteneurs open source
Présentation
Kubernetes est un logiciel open source qui vous permet de déployer et de gérer des applications conteneurisées à grande échelle. Kubernetes gère des clusters d'instances de calcul Amazon Elastic Compute Cloud (EC2) et exécute des conteneurs sur ces instances avec des processus de déploiement, de maintenance et de mise à l'échelle. Avec Kubernetes, vous pouvez exécuter n'importe quel type d'application conteneurisée en utilisant le même ensemble d'outils sur site et sur le cloud.
AWS facilite l'exécution de Kubernetes sur le cloud avec une infrastructure de machines virtuelles évolutive et hautement disponible, des intégrations de services soutenues par la communauté et Amazon Elastic Kubernetes Service (EKS), un service Kubernetes géré et certifié conforme.
Pourquoi utiliser Kubernetes
En tant que projet open source, Kubernetes vous permet d'exécuter vos applications conteneurisées n'importe où, sans avoir à changer vos outils de travail. Kubernetes est soutenu par une large communauté de volontaires, et s'améliore sans cesse. De plus, de nombreux autres fournisseurs et projets open source développent et mettent à jour des logiciels compatibles avec Kubernetes que vous pouvez utiliser pour améliorer et étendre votre architecture applicative.
Kubernetes vous permet de créer des applications conteneurisées complexes et de les exécuter à l'échelle d'un cluster de serveurs.
Grâce à Kubernetes, les applications conteneurisées peuvent être transférées de manière transparente de machines de développement local vers des déploiements de production sur le cloud qui utilisent le même outillage opérationnel.
Exécutez des clusters Kubernetes évolutifs et hautement disponibles sur AWS, tout en préservant la compatibilité avec vos déploiements Kubernetes exécutés sur site.
Comme il s'agit d'un projet open source, il est facile d'ajouter de nouvelles fonctionnalités à Kubernetes. Une large communauté de développeurs et d'entreprises élaborent des extensions, des intégrations et des plugins complémentaires pour aider les utilisateurs de Kubernetes.
Exécuter Kubernetes sur AWS
AWS permet d'exécuter facilement Kubernetes. Vous pouvez choisir de gérer vous-même l'infrastructure Kubernetes avec Amazon EC2 ou d'obtenir un plan de contrôle Kubernetes géré et approvisionné automatiquement avec Amazon EKS. Quel que soit votre choix, vous bénéficiez d'intégrations puissantes et soutenues par la communauté aux services AWS, comme cloud privé virtuel (VPC) Amazon, AWS Identity and Access Management (IAM) et la découverte de service. Vous profitez également de la sécurité, de la capacité de mise à l'échelle et de la haute disponibilité d'AWS.
Envisagez d'utiliser Amazon EC2
Si vous souhaitez gérer entièrement votre déploiement Kubernetes. Provisionner et exécuter Kubernetes sur les types d'instances puissants de votre choix.
Envisagez d'utiliser Amazon EKS
Si vous souhaitez exécuter Kubernetes sans avoir à provisionner ou à gérer des instances principales, etc.
Envisagez d'utiliser Amazon ECR
Si vous souhaitez stocker, chiffrer et gérer des images de conteneurs pour un déploiement rapide.
Collaborations Kubernetes de la communauté AWS
Questions fréquentes à propos de Kubernetes
Ouvrir toutUn cluster Kubernetes est un regroupement logique d'instances de calcul EC2 qui exécutent vos conteneurs. Un cluster est composé du plan de contrôle (les instances qui contrôlent le mode, le moment et l'emplacement d’exécution de vos conteneurs) et du plan de données (les instances où vos conteneurs sont exécutés). Vous devez configurer un cluster avant de pouvoir exécuter des conteneurs ou des services avec Kubernetes.
Un nœud Kubernetes est une instance de calcul unique (machine virtuelle) qui fait partie d'un cluster Kubernetes. Il existe deux types d'instances: les maîtres et les esclaves. Les maîtres hébergent le serveur de l'API Kubernetes et contrôlent le mode, le moment et l'emplacement d'exécution de vos conteneurs. Les esclaves sont les instances de calcul où vos conteneurs fonctionnent et traitent les données.
Un pod est la méthode utilisée par Kubernetes pour exécuter des conteneurs sur une instance de calcul et comprend des conteneurs et des instructions sur le fonctionnement, la mise en réseau et le stockage. Un pod peut comporter un conteneur unique ou plusieurs conteneurs qui s'exécutent toujours ensemble. Si vous avez l'habitude d'utiliser des conteneurs uniques, vous pouvez considérer un pod comme un conteneur en cours d'utilisation.
etcd est un magasin de stockage clé-valeur distribué qui vous permet de stocker et de partager des données sur un cluster de machines distribué. Kubernetes utilise etcd pour stocker des données sur votre cluster et les partager sur le plan de contrôle de Kubernetes.
AWS permet d'exécuter facilement Kubernetes. En réalité, AWS possède le plus grand nombre de clients utilisant Kubernetes sur le cloud, car selon la Cloud Native Computing Federation (CNCF), la majorité des déploiements de Kubernetes s'effectuent sur AWS. AWS collabore avec la communauté Kubernetes et contribue activement pour faciliter l'utilisation de Kubernetes sur AWS.
Amazon met à votre disposition Amazon Elastic Kubernetes Service (EKS), un service géré qui vous permet d'exécuter facilement Kubernetes sur AWS sans devoir installer et faire fonctionner votre propre plan de contrôle Kubernetes.
Il y a deux façons principales d'utiliser Kubernetes sur AWS : l'exécuter vous-même sur des instances de machines virtuelles Amazon EC2 ou utiliser le service Amazon EKS. Vous pouvez obtenir plus d'informations sur l'exécution en propre de Kubernetes sur EC2 dans notre atelier Github. Vous pouvez obtenir plus d’informations sur l'utilisation d'Amazon EKS sur la page consacrée au produit.
Comment fonctionne Kubernetes
Kubernetes gère un cluster d'instances de calcul et planifie l'exécution des conteneurs sur ce cluster en fonction des ressources de calcul disponibles et des critères de chaque conteneur. Les conteneurs sont exécutés dans des groupes logiques appelés pods et vous pouvez exécuter et mettre à l'échelle un ou plusieurs conteneurs ensemble en tant que pod.
Le logiciel de planification de Kubernetes décide quand et où exécuter vos pods, gère l'acheminent du trafic et adapte vos pods en fonction de votre utilisation ou d'autres paramètres que vous définissez. Kubernetes démarre automatiquement les pods sur votre cluster en fonction de leurs besoins en ressources et redémarre automatiquement les pods ou les instances sur lesquelles ils s'exécutent en cas d’échec. Chaque pod est doté d'une adresse IP et d'un nom DNS unique, que Kubernetes utilise pour connecter vos services entre eux ou à un trafic externe.