O Kubernetes é cobrado como um agendador / orquestrador de cluster de contêineres, mas não faço ideia do que isso significa. Depois de ler o site do Kubernetes e o wiki (vago) do GitHub, o melhor que posso dizer é que, de alguma forma, ele descobre quais VMs estão disponíveis / são capazes de executar seu contêiner Docker e as implanta lá. Mas esse é apenas o meu palpite, e não vi palavrões concretos na documentação deles para apoiar isso.
Então, o que é o Kubernetes exatamente e quais são alguns problemas específicos que ele resolve?
docker
kubernetes
smeeb
fonte
fonte
Respostas:
O objetivo do Kubernetes é facilitar a organização e o agendamento de seu aplicativo em uma frota de máquinas. Em um nível alto, é um sistema operacional para seu cluster.
Basicamente, permite que você não se preocupe com a máquina específica em seu datacenter em que cada aplicativo é executado. Além disso, fornece primitivas genéricas para verificar a integridade e replicar seu aplicativo nessas máquinas, além de serviços para conectar seu aplicativo a microsserviços, de forma que cada camada do seu aplicativo seja dissociada de outras, para que você possa dimensioná-las / atualizá-las / mantê-las. independentemente.
Embora seja possível fazer muitas dessas coisas na camada de aplicativos, essas soluções tendem a ser pontuais e quebradiças, é muito melhor ter uma separação de preocupações, onde um sistema de orquestração se preocupa em como executar seu aplicativo e você se preocupa com o código que compõe seu aplicativo.
fonte
Como você lê na página do Github :
Para mim, o Kubernetes é uma ferramenta de orquestração de contêineres do Google. Devido ao seu design, você pode implementar a compatibilidade com qualquer mecanismo de contêiner, mas acho que agora está limitado ao Docker. Existem alguns conceitos importantes em sua arquitetura:
Portanto, você tem um grupo de máquinas que forma um cluster em que seus contêineres são executados. Você também pode definir um grupo de contêineres que fornecem um serviço, da mesma forma que você faz com outras ferramentas como fig (por exemplo: o webapp pod pode ser um servidor rails e um banco de dados do postgres). Você também tem outras ferramentas para garantir vários contêineres / pods de um serviço em execução ao mesmo tempo, um armazenamento de valores-chave, um tipo de balanceador de carga interno ...
Se você sabe algo sobre coreos, é uma solução muito semelhante, mas do Google. Algo Kubernetes tem uma boa integração com o Google Cloud Engine.
fonte
O Kubernetes fornece muitas das mesmas funcionalidades das APIs de infraestrutura como serviço, mas destinadas a contêineres agendados dinamicamente, em vez de máquinas virtuais, e como sistemas de plataforma como serviço, mas com maior flexibilidade, incluindo:
Se você já usa outros mecanismos para descoberta de serviços, distribuição secreta, balanceamento de carga, monitoramento etc., é claro que pode continuar a usá-los, mas nosso objetivo é facilitar a transição para o Kubernetes dos sistemas IaaS e PaaS existentes, fornecendo este funcionalidade.
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-can-it-do
fonte