Kubernetes est facturé comme un cluster de conteneurs "planificateur / orchestrateur", mais je n'ai aucune idée de ce que cela signifie. Après avoir lu le site Kubernetes et le (vague) wiki GitHub, le mieux que je puisse dire est que cela détermine en quelque sorte quelles machines virtuelles sont disponibles / capables d'exécuter votre conteneur Docker, puis les déploie là-bas. Mais ce n'est que ma supposition, et je n'ai vu aucun verbiage concret dans leur documentation à l'appui.
Alors, qu'est-ce que Kubernetes, exactement , et quels sont les problèmes spécifiques qu'il résout?
docker
kubernetes
smeeb
la source
la source
Réponses:
Le but de Kubernetes est de faciliter l'organisation et la planification de votre application sur un parc de machines. À un niveau élevé, il s'agit d'un système d'exploitation pour votre cluster.
Fondamentalement, cela vous permet de ne pas vous soucier de la machine spécifique de votre centre de données sur laquelle s'exécute chaque application. En outre, il fournit des primitives génériques pour la vérification de l'état et la réplication de votre application sur ces machines, ainsi que des services pour câbler votre application en micro-services afin que chaque couche de votre application soit découplée des autres couches afin que vous puissiez les mettre à l'échelle / les mettre à jour / les maintenir. indépendamment.
Bien qu'il soit possible de faire beaucoup de ces choses dans la couche application, ces solutions ont tendance à être ponctuelles et fragiles, il est préférable de séparer les préoccupations, où un système d'orchestration s'inquiète de la manière d'exécuter votre application et vous vous inquiétez de le code qui compose votre application.
la source
Comme vous le lisez sur sa page Github :
Pour moi, Kubernetes est un outil d'orchestration de conteneurs de Google. En raison de sa conception, vous pouvez implémenter la compatibilité avec n'importe quel moteur de conteneur, mais je pense que maintenant c'est limité à Docker. Il y a quelques concepts importants dans son architecture:
Ainsi, vous avez un groupe de machines qui forme un cluster où vos conteneurs sont exécutés. Vous pouvez également définir un groupe de conteneurs qui fournissent un service, de la même manière que vous le faites avec d'autres outils comme fig (par exemple: le pod webapp peut être un serveur rails et une base de données postgres). Vous disposez également d'autres outils pour assurer un certain nombre de conteneurs / pods d'un service s'exécutant en même temps, un magasin clé-valeur, une sorte d'équilibreur de charge intégré ...
Si vous savez quelque chose sur coreos, c'est une solution très similaire mais de Google. Algo Kubernetes a une bonne intégration avec Google Cloud Engine.
la source
Kubernetes fournit une grande partie des mêmes fonctionnalités que les API Infrastructure as a Service, mais vise les conteneurs planifiés dynamiquement plutôt que les machines virtuelles, et en tant que systèmes Platform as a Service, mais avec une plus grande flexibilité, notamment:
Si vous utilisez déjà d'autres mécanismes pour la découverte de services, la distribution secrète, l'équilibrage de charge, la surveillance, etc., vous pouvez bien sûr continuer à les utiliser, mais nous visons à faciliter la transition vers Kubernetes à partir des systèmes IaaS et PaaS existants en fournissant cela Fonctionnalité.
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-can-it-do
la source