Projeto Kubernetes faz 4 anos



O Kubernetes comemorou seu quarto aniversário na semana passada: o primeiro commit em sua base de código público ocorreu em 6 de junho de 2014. Nessa ocasião, um de seus fundadores, Joe Beda, compartilhou em seu blog do projeto suas memórias de como tudo começou.

Primeiro commit


E tudo começou, como você sabe, muito antes - com "idéias que foram testadas pelo Google há 10 anos com o Borg" - um sistema que, por sua vez, "deve sua existência a trabalhos ainda mais antigos no Google e fora dele". Veja como o próprio Joe descreve as origens dos Kubernetes que precederam o primeiro commit:

Especificamente, o Kubernetes começou com protótipos de Brendan Burns e meu trabalho contínuo de Craig McLuckie para alinhar as experiências internas do Google com o Google Cloud. Juntamente com Brendan e Craig, queríamos que as pessoas pudessem tirar proveito de nosso trabalho, por isso decidimos criar um protótipo na forma de um projeto de código aberto que abrirá o mundo com as melhores idéias da Borg.


Joe Beda, Craig McLuckie e Brendan Burns (da esquerda para a direita) - autores originais do Kubernetes - em um painel de discussão sobre a história do projeto ( vídeo de 2018)

Obtivemos a aprovação e começamos a criar o próprio sistema. Tomando o protótipo de Brendan (em Java), o reescrevemos no Go e coletamos apenas o mínimo necessário, o que nos permite mostrar as principais idéias. A essa altura, nossa equipe havia crescido - foi complementada por Ville Aikas, Tim Hockin, Brian Grant, Dawn Chen e Daniel Smith. Tendo recebido algo funcionando, precisávamos de um homem que colocasse as coisas em ordem, preparando tudo para um lançamento público. Eu me tornei essa pessoa. Não percebendo todo o significado do momento, criei um novo repositório, coloquei os desenvolvimentos lá e os comprometi. Apesar de possuir o primeiro commit público no repositório, até esse ponto, muito trabalho foi feito.




Joe Beda iniciou sua carreira na Microsoft (1997), passando de lá para o Google (2004), depois foi consultor do CoreOS (2015) e criou sua própria empresa Heptio (2016)

Mas os primeiros desenvolvimentos do Kubernetes foram muito grosseiros:

A versão Kubernetes da época era apenas uma sombra do que o projeto se tornaria. Os conceitos básicos estavam presentes, mas de uma forma muito grosseira. Por exemplo, os pods eram chamados de tarefas. Nós mudamos isso apenas um dia antes do público se comprometer. [..] No entanto, apesar dessa umidade, mesmo um começo como esse foi suficiente para despertar o interesse da comunidade, que rapidamente se reuniu e acabou se tornando apenas mais forte.

A razão óbvia para o aumento subsequente na popularidade de Kubernetes é que a indústria como um todo enfrentou os mesmos problemas e não tinha uma solução adequada. Craig repete as palavras de Joe:

Pensamos por um longo tempo sobre como tornar os aplicativos de lançamento em produção mais progressivos, "orquestrados". Apenas com base em nossa experiência com o Google Compute Engine, vimos desde as primeiras linhas os problemas que as empresas enfrentam ao transferir cargas de trabalho para as nuvens. [..]

Se você observar a história, decidimos abrir o código Kubernetes e torná-lo um projeto orientado para a comunidade muito antes do que a linha de pensamento usual recomenda, e realmente focado em criar uma comunidade aberta e envolvida. E realmente valeu a pena: o desenvolvimento do Kubernetes acelerou e rapidamente se tornou o padrão para orquestração de contêineres.

Primeiro anúncio


O anúncio público do Kubernetes ocorreu alguns dias após o primeiro commit - 10 de junho de 2014 na primeira conferência DockerCon. Isso foi feito por Eric Brewer, vice-presidente de infraestrutura do Google, como parte do relatório Robust Containers ( vídeo , apresentação ) com as seguintes palavras:

Hoje estamos lançando o código Kubernetes. Esse é outro sistema de orquestração ... [..] não vou demonstrar, porque Eu tenho apenas 25 minutos para relatar. Craig e Brendan farão isso ainda hoje. [..] A razão pela qual estamos publicando o Kubernetes como um projeto de código aberto agora é por causa das idéias [que queremos compartilhar com a comunidade].

... e uma breve história sobre a arquitetura básica do Kubernetes e os principais conceitos do novo projeto: rótulos para lareiras (o termo podfoi usado pelo Google para se referir a grupos de contêineres), conjunto de réplicas ("grupo de lareiras com os mesmos rótulos"), serviço ("conjunto de réplicas com balanceamento de carga ”), Modelo de reconciliação (“ modelo de conciliador ”; a idéia principal dessa abordagem é declarar o estado desejado para que, no futuro, o sistema monitore automaticamente a conformidade com ele).


Anúncio da Kubernetes na conferência DockerCon'14

Valores do projeto


O que vem a seguir com o Kubernetes, sabemos em primeira mão ... Resumindo o quarto aniversário, Joe observa que “o sucesso do projeto se deveu em grande parte não apenas ao código e à tecnologia, mas à maneira como um maravilhoso grupo de pessoas se uniu para fazer algo especial. E a melhor ilustração são os valores da comunidade Kubernetes, que são apresentados no repositório do projeto :

  1. A distribuição é melhor que a centralização . A escala que o Kubernetes alcançou é possível apenas através de uma distribuição aberta e confiável de poderes sobre gerenciamento, tomada de decisão, arquitetura, propriedade de código e documentação.
  2. Comunidade acima do produto ou empresa . Compromisso com o desenvolvimento do projeto no interesse de todos os seus participantes e usuários. Isso se manifesta no trabalho conjunto público (tanto de entusiastas individuais quanto de empresas), visando atingir objetivos comuns.
  3. A automação está acima do processo . “O heroísmo não é viável”, portanto o trabalho de rotina deve ser automatizado o máximo possível e, sempre que possível, apreciado.
  4. Absorver é melhor do que excluir . O sucesso generalizado da tecnologia requer visões de diferentes ângulos e um grande número de habilidades que devem ser cumpridas em uma atmosfera amigável e respeitosa.
  5. Evolução é melhor que estagnação . No coração do projeto Kubernetes, a cultura é a melhoria contínua, a liderança de servidores (abordagem líder-servidor), a orientação e o respeito. As responsabilidades dos líderes do projeto incluem encontrar e patrocinar novos membros da comunidade que devem poder participar, enquanto os próprios líderes devem estar prontos para sair.

A famosa citação de Peter Drucker resume os valores do projeto: "A cultura toma a estratégia para o café da manhã".

PS


Leia também em nosso blog:

Source: https://habr.com/ru/post/pt413827/


All Articles